my approach of finding long problems in java
// Online Java Compiler
// Use this editor to write, compile and run your Java code online
class Main {
public static void main(String[] args) {
int [] arr={1,2,3,4,4,5,5,5};
// because one element is already present
int [] freq=new int [arr.length];
boolean [] visit=new boolean[arr.length];
int index=0;
//finding elemets with their frequency:
for(int i=0;i<arr.length;i++){
if(visit[i]){
continue;
}
int count=1;
for(int j=i+1;j<arr.length;j++){
if(arr[i]==arr[j]){
visit[j]=true;
count++;
}
freq[i]=count;
}
// System.out.println(arr[i]+":"+freq[i]);
}
//finding maximum frequency:
int max=Integer.MIN_VALUE;
for(int i=0;i<freq.length;i++){
//System.out.println(freq[i]);
if(freq[i]>max){
max=freq[i];
}
}
for(int i=0;i<arr.length;i++){
if(visit[i]){
continue;
}
int count1=1;
for(int j=i+1;j<arr.length;j++){
if(arr[i]==arr[j]){
count1++;
}
}
if(max==count1){
System.out.println(arr[i]);
}
}
System.out.println(max);
}
}
//majority element:
// Online Java Compiler
// Use this editor to write, compile and run your Java code online
class Main {
public static void main(String[] args) {
int [] arr={1,2,1,1};
int [] freq=new int [arr.length];
boolean [] visit=new boolean[arr.length];
int n=arr.length/2;
for(int i=0;i<arr.length;i++){
if(visit[i]) {
continue;
}
int count=1;
for(int j=i+1;j<arr.length;j++){
if(arr[i]==arr[j]){
visit[j]=true;
count++;
}
}
freq[i]=count;
}
int max=Integer.MIN_VALUE;
for(int i=0;i<arr.length;i++){
if(freq[i]>max){
max=freq[i];
}
}
for(int i=0;i<arr.length;i++){
if(!visit[i] && max>n && freq[i]==max){
System.out.println("majority element:"+arr[i]);
}
}
}
}
//buy and sell the stocks:
// Online Java Compiler
// Use this editor to write, compile and run your Java code online
class Main {
public static void main(String[] args) {
int [] price={8,2,1,5,4,6};
int [] temp=new int [price.length];
int index=0,min_index=0;
int min=Integer.MAX_VALUE;
for(int i=0;i<price.length;i++){
if(price[i]<min){
min=price[i];
min_index=i;
}
}
int max=Integer.MIN_VALUE;
for(int i=min_index;i<price.length;i++){
temp[index++]= price[i]-min;
}
for(int i=0;i<temp.length;i++){
if(temp[i]>max){
max=temp[i];
}
}
System.out.println("Buy:"+min);
System.out.println("sell:"+max);
}
}
Comments
Post a Comment