Skip to content

Commit a580391

Browse files
adding Codes
1 parent 25ddc4e commit a580391

34 files changed

+493
-11
lines changed

Leetcode/FindPeakElement.class

1.03 KB
Binary file not shown.

Leetcode/FindPeakElement.java

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import java.util.*;
2+
public class FindPeakElement{
3+
public static void main(String[] args){
4+
final Scanner cin=new Scanner(System.in);
5+
int n=cin.nextInt();
6+
int[] nums=new int[n];
7+
for(int i=0;i<n;i++){
8+
nums[i]=cin.nextInt();
9+
}
10+
System.out.println(peakIndex(nums));
11+
}
12+
public static int PeakIndex(int[] nums){
13+
//brute forxece -O(n)
14+
for(int i=1;i<nums.length;i++){
15+
if(nums[i]<nums[i-1]){
16+
return i-1;
17+
}
18+
}
19+
if(nums[nums.length-2]==nums[nums.length-1]){
20+
return nums.length-2;
21+
}
22+
return nums.length-1;
23+
}
24+
// 0 1 2 3 4 5
25+
// 1 2 3 4 1 5
26+
// 1 2 3 4 1 5 -> mid =2(3)
27+
// 3 > 4 and 3 > 2 -> return mid
28+
// check mid-> mid -1(2) -> left mid+1
29+
// right => mid -1
30+
public static int peakIndex(int[] nums){
31+
int left=0,right=nums.length-1;
32+
while(left<=right){
33+
int mid=(left+right)/2;
34+
if((nums[mid]>nums[mid-1] && mid>0) && (mid<nums.length && nums[mid]>nums[mid+1])){
35+
return mid;
36+
}else if(mid-1>=0 && nums[mid]>nums[mid-1]){
37+
left=mid+1;
38+
}
39+
else if(mid+1<nums.length && nums[mid]<nums[mid+1]){
40+
right=mid-1;
41+
}
42+
}
43+
return -1;
44+
}
45+
}

Leetcode/removeDuplicates.class

1.19 KB
Binary file not shown.

Leetcode/removeDuplicates.java

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import java.util.*;
2+
public class removeDuplicates{
3+
public static void main(String[] args){
4+
Scanner cin=new Scanner(System.in);
5+
int n=cin.nextInt();
6+
int[] ar=new int[n];
7+
for(int i=0;i<n;i++){
8+
ar[i]=cin.nextInt();
9+
}
10+
int index=removeTwice(ar);
11+
for(int i=0;i<index;i++){
12+
System.out.print(ar[i]+" ");
13+
}
14+
}
15+
private static int remove(int[] ar){
16+
int left=1;
17+
for(int right=0;right<ar.length-1;right++){
18+
// System.out.println(ar[i]+" "+ar[i+1]);
19+
if(ar[right]!=ar[right+1]){
20+
// System.out.println("c"+ar[i]+" "+ar[i+1]);
21+
ar[left++]=ar[right+1];
22+
23+
}
24+
}
25+
return left;
26+
}
27+
public static int removeTwice(int[] ar){
28+
int left= 2;
29+
for(int right=2;right<ar.length;right++){
30+
if((ar[left-2]!=ar[right])){
31+
ar[left++]=ar[right];
32+
// lc=1;
33+
}
34+
}
35+
//System.out.println();
36+
return left;
37+
}
38+
39+
}

codeforces/Practice/FingerPrint.class

-1.17 KB
Binary file not shown.
1.26 KB
Binary file not shown.
+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import java.io.*;
2+
public class Main{
3+
public static void main(String[] args)throws IOException{
4+
final BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
5+
for(int test=Integer.parseInt(br.readLine());test>0;test--){
6+
System.out.println(getShortString(br.readLine()));
7+
}
8+
}
9+
private static String getShortString(String s){
10+
if(s.length()<=10){
11+
return s;
12+
}
13+
int len=s.length()-2;
14+
String t=s.charAt(0)+String.valueOf(len)+s.charAt(s.length()-1);
15+
return t;
16+
}
17+
}

interviewbit/maxPoint.class

987 Bytes
Binary file not shown.

interviewbit/maxPoint.java

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import java.util.Scanner;
2+
public class maxPoint{
3+
public static void main(String[] args){
4+
Scanner cin=new Scanner(System.in);
5+
int n=cin.nextInt();
6+
int[] x=new int[n];
7+
int[] y=new int[n];
8+
for(int i=0;i<n;i++){
9+
x[i]=cin.nextInt();
10+
}
11+
for(int i=0;i<n;i++){
12+
y[i]=cin.nextInt();
13+
}
14+
System.out.println(maxCount(x,y));
15+
}
16+
private static int maxCount(int[] x,int[] y){
17+
int count=1,newSlope=0;
18+
int slope=(y[1]-y[0])/(x[1]-x[0]);
19+
for(int i=1;i<x.length;i++){
20+
try{
21+
newSlope=((y[i]-y[0])/(x[i]-x[0]));
22+
}
23+
catch(Exception e){
24+
newSlope=((y[i]-y[1])/(x[i]-x[1]));
25+
}
26+
if(newSlope==slope){
27+
count++;
28+
}
29+
}
30+
return count;
31+
}
32+
}

practice/LinkedList/1

+84
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
import java.util.*;
2+
class LinkedList{
3+
private class node{
4+
int data;
5+
node next;
6+
node(){
7+
data=0;
8+
next=null;
9+
}
10+
node(int item){
11+
data=item;
12+
next=null;
13+
}
14+
}
15+
private node head,tail;
16+
private int size=0;
17+
public void display(){
18+
node temp=this.head;
19+
while(temp!=null){
20+
System.out.print(temp.data+" ");
21+
temp=temp.next;
22+
}
23+
System.out.println(" First: "+this.head.data+" last:"+this.tail.data);
24+
25+
}
26+
public void addFirst(int item){
27+
node temp=new node(item);
28+
temp.next=this.head;
29+
this.head=temp;
30+
if(size==0) this.tail=temp;
31+
this.size++;
32+
}
33+
public void addLast(int item){
34+
node temp=new node(item);
35+
if(this.head == null){
36+
this.head=temp;
37+
}
38+
else{
39+
this.tail.next=temp;
40+
}
41+
this.tail=temp;
42+
this.size++;
43+
temp=null;
44+
}
45+
public int middleElement(){
46+
node temp=this.head;
47+
int mid=this.size/2;
48+
int i=0,count=-1;
49+
while(i<=mid){
50+
count=temp.data;
51+
temp=temp.next;
52+
i++;
53+
}
54+
return count;
55+
}
56+
public int FasterMid(){
57+
node slow=this.head;
58+
node fast=this.head;
59+
while(fast.next!=null && fast.next.next!=null){
60+
slow=slow.next;
61+
fast=fast.next.next;
62+
}System.out.println(slow.next);
63+
return slow.data;
64+
}
65+
}
66+
public class Insertion{
67+
public static void main(String[] args){
68+
LinkedList list=new LinkedList();
69+
Scanner cin=new Scanner(System.in);
70+
int n=cin.nextInt();
71+
for(int i=0;i<n;i++){
72+
list.addLast(cin.nextInt());
73+
}
74+
list.display();
75+
System.out.println(list.middleElement());
76+
list.addFirst(100);
77+
list.addLast(200);
78+
list.display();
79+
System.out.println("Faster Mid: "+list.FasterMid());
80+
81+
}
82+
}
83+
84+

practice/arrays/ArrayRotation.class

1.5 KB
Binary file not shown.
1.55 KB
Binary file not shown.

practice/arrays/ArrayRotationBrute.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import java.util.Scanner;
22
import java.util.Collections;
33
import java.util.Iterator;
4-
import java.util.ArrayList;
4+
Import java.util.ArrayList;
55
public class ArrayRotationBrute{
66
public static void main(String[] args){
77
Scanner cin=new Scanner(System.in);
1.36 KB
Binary file not shown.

practice/gcd

8.7 KB
Binary file not shown.

practice/maths/GcdLcm.class

-1.11 KB
Binary file not shown.

practice/maths/MagicNumbers.class

1.24 KB
Binary file not shown.

practice/maths/MagicNumbers.java

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import java.util.Scanner;
2+
import java.math.*;
3+
public class MagicNumbers{
4+
public static void main(String[] args){
5+
final Scanner cin=new Scanner(System.in);
6+
int test=cin.nextInt();
7+
for(int j=0;j<test;j++){
8+
int n=cin.nextInt();
9+
int[] arr=new int[n];
10+
for(int i=0;i<n;i++){
11+
arr[i]=cin.nextInt();
12+
}
13+
System.out.println(findMagicNumber(arr));
14+
}
15+
}
16+
private static BigInteger findMagicNumber(int[] arr){
17+
BigInteger mul=BigInteger.ONE;
18+
BigInteger GCD=BigInteger.valueOf(arr[0]);
19+
for(int i:arr){
20+
GCD=GCD.gcd(BigInteger.valueOf(i));
21+
mul=mul.multiply(BigInteger.valueOf(i));
22+
}
23+
BigInteger bn=new BigInteger("1000000007");
24+
return (mul.pow(GCD.intValue())).mod(bn);
25+
}
26+
}

practice/maths/factorial.java

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import java.io.*;
2+
import java.math.BigInteger;
3+
public class factorial{
4+
public static void main(String[] args)throws IOException{
5+
final BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
6+
int test=Integer.parseInt(br.readLine());
7+
for(int i=0;i<test;i++){
8+
System.out.println(factorial(Integer.parseInt(br.readLine())));
9+
}
10+
}
11+
public static BigInteger factorial(int n){
12+
BigInteger fact=BigInteger.ONE;
13+
for(int i=2;i<=n;i++){
14+
fact=fact.multiply(BigInteger.valueOf(i));
15+
}
16+
return fact;
17+
}
18+
}

practice/maths/largeGcd.java

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import java.io.*;
2+
import java.math.BigInteger;
3+
public class largeGcd{
4+
public static void main(String[] args)throws IOException{
5+
final BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
6+
BigInteger a=new BigInteger(br.readLine());
7+
BigInteger b=new BigInteger(br.readLine());
8+
BigInteger hcd=a.gcd(b);
9+
System.out.println(hcd);
10+
}
11+
}

practice/maths/newLine.py

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
def newLine(String):
2+
li=list(String.split(" "))
3+
return li
4+
string="887 2778 6916 7794 8336 5387 493 6650 1422 2363 28 8691 60 7764 3927 541 3427 9173 5737 5212 5369 2568 6430 5783 1531 2863 5124 4068 3136 3930 9803 4023 3059 3070 8168 1394 8457 5012 8043 6230 7374 4422 4920 3785"
5+
list1=newLine(string)
6+
7+
f=open("x.txt","w+");
8+
for i in list1:
9+
f.write(i+"\n")

practice/maths/productFractions.java

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
/* --[ 1, 2, 5]
2+
* --[ 2, 1, 6]
3+
* lcm --(2,1,6)
4+
* update num and find sum
5+
* gcd and divide by rsult;
6+
*/
7+
import java.util.Scanner;
8+
public class productFractions{
9+
private static int gcd(int a,int b){
10+
if(b==0) return a;
11+
return gcd(b,a%b);
12+
}
13+
private static int getLcm(int[] den){
14+
int result=den[0];
15+
for(int i=1;i<den.length;i++){
16+
result=((result*den[i]))/(gcd(result,den[i]));
17+
}
18+
19+
return result;
20+
}
21+
public static void main(String[] args){
22+
Scanner cin =new Scanner(System.in);
23+
int n=cin.nextInt();
24+
int[] num=new int[n];
25+
int[] den=new int[n];
26+
int lcm=0;
27+
for(int i=0;i<n;i++){
28+
num[i]=cin.nextInt();
29+
}
30+
for(int i=0;i<n;i++){
31+
den[i]=cin.nextInt();
32+
}
33+
lcm=getLcm(den);
34+
int sum=0;
35+
for(int i=0;i<n;i++){
36+
int factor=lcm/den[i];
37+
sum+=factor*num[i];
38+
}
39+
int factor=gcd(sum,lcm);
40+
int numm=sum/factor;
41+
int denn=lcm/factor;
42+
System.out.println(numm+"/"+denn);
43+
}
44+
}
45+
46+

practice/maths/x.txt

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
887
2+
2778
3+
6916
4+
7794
5+
8336
6+
5387
7+
493
8+
6650
9+
1422
10+
2363
11+
28
12+
8691
13+
60
14+
7764
15+
3927
16+
541
17+
3427
18+
9173
19+
5737
20+
5212
21+
5369
22+
2568
23+
6430
24+
5783
25+
1531
26+
2863
27+
5124
28+
4068
29+
3136
30+
3930
31+
9803
32+
4023
33+
3059
34+
3070
35+
8168
36+
1394
37+
8457
38+
5012
39+
8043
40+
6230
41+
7374
42+
4422
43+
4920
44+
3785

0 commit comments

Comments
 (0)