Posts

program to return true is value appears twice

  import java . util .* ; class distinct {     public static void main ( String [] args ) {         int arr [] = { 2 , 1 , 4 };         boolean val = false ;         for ( int i = 0 ; i < arr . length ; i ++){             for ( int j = i + 1 ; j < arr . length ; j ++){                 if ( arr [ j ] == arr [ i ]){                     val = true ;                 }             }         }         System . out . println ( val );             } }

Buying and Selling Stocks

Image
  import java . util .* ; class stocks {     public static void main ( String [] args ) {         int prices [] = { 7 , 1 , 5 , 3 , 6 , 4 };         int buy = Integer . MAX_VALUE , sell = Integer . MIN_VALUE ;         int maxprofit = 0 ;         for ( int i = 0 ; i < prices . length - 1 ; i ++){             int j = i + 1 ;             buy = Math . min ( prices [ i ], buy );             int profit = prices [ j ] - buy ;             maxprofit = Math . max ( profit , maxprofit );             j ++;         }         // int profit=sell-buy;         System . out . print ( "maxprofit is " + maxprofit );             } } output-

Trapping rain water

Image
  import java . util .* ; class tapping {     public static void main ( String [] args ) {         int height [] = { 4 , 6 , 7 , 8 , 9 , 10 , 11 };         int leftmaxbound [] = new int [ height . length ];         leftmaxbound [ 0 ] = height [ 0 ];         // loop for leftmaxbound         for ( int i = 1 ; i < height . length ; i ++){             if ( leftmaxbound [ i - 1 ] > height [ i ]){                 leftmaxbound [ i ] = leftmaxbound [ i - 1 ];             }             else {                 leftmaxbound [ i ] = height [ i ];             }         }         //loop for right max bound         int...

Subarray using kadanes algorithim

Image
  import java . util .* ; public class kadanes {     public static void main ( String [] args ) {         int arr [] = { - 2 , - 3 , 4 , - 1 , - 2 , 1 , 5 , - 3 };         int csum = 0 , max = Integer . MIN_VALUE ;         for ( int i = 0 ; i < arr . length ; i ++){             csum = csum + arr [ i ];             if ( csum < 0 ){                 csum = 0 ;             }             max = Math . max ( csum , max );         }         System . out . println ( "max csum is " + max );     }     } output=

sub array using prefix sum

Image
public class MaxSubArray_Prefixsum {     public static void maxPrefixSubarray ( int numbers []){         int ts = 0 ;         int maxSum = Integer . MIN_VALUE ;         int prefix [] = new int [ numbers . length ];             prefix [ 0 ] = numbers [ 0 ];             //creating prefix array           for ( int i = 1 ; i < numbers . length ; i ++){             prefix [ i ] = numbers [ i ] + prefix [ i - 1 ];                     }         System . out . println ( "prefix array is" );         for ( int i = 0 ; i < numbers . length ; i ++){             System . out . print ( prefix [ i ] + " " );         }         System . out . prin...

Sub array using bruteforce

Image
  import java . util .* ; class subarray {     public static void printsubarray ( int arr []){         int max = Integer . MIN_VALUE ;         for ( int i = 0 ; i <= arr . length ; i ++){             for ( int j = i ; j <= arr . length ; j ++){                 int sum = 0 ;                 for ( int k = i ; k < j ; k ++){                     sum = sum + arr [ k ];                 }                 if ( sum > max ){                     max = sum ;                 }             }         }         System . out . println...

Time conversion into IST

Image
  import java . util .* ; class IST {     public static void main ( String [] args ){         Scanner s = new Scanner ( System . in );         System . out . println ( "Enter GMT timings in Day, Hour , Min format" );         int day = s . nextInt ();         int hour = s . nextInt ();         int min = s . nextInt ();         hour = hour + 5 ;         min = min + 30 ;         if ( hour > 24 ){             hour = hour - 24 ;             day = day + 1 ;         }         if ( min >= 60 ){             min = min - 60 ;             hour = hour + 1 ;         }         // if((month=="jan"||month=="mar"||month...