Posts

String compression TC = O(n)

Image
  class stringcompression {     public static String printstring ( String str ){         StringBuilder result = new StringBuilder ();         for ( int i = 0 ; i < str . length (); i ++){             Integer count = 1 ;             while ( i < str . length () - 1 && str . charAt ( i ) == str . charAt ( i + 1 )){                 count ++;                 i ++;             }             result . append ( str . charAt ( i ));             if ( count > 1 ){                 result . append ( count );             }         }         return result . toString ();     }     public static void main ( String [] args ) {         String str = "abbcdd" ;         str = printstring ( str );         System . out . print ( str );     } } Output :-

Convert first letter to capital letter in java

  import javax . xml . transform . stax . StAXSource ; class firstupper {     public static String capital ( String str ){         StringBuilder strbuild = new StringBuilder ();         char ch = Character . toUpperCase ( str . charAt ( 0 ));         strbuild . append ( ch );         for ( int i = 1 ; i < str . length (); i ++){             if ( str . charAt ( i ) == ' ' && i < str . length () - 1 ){                 strbuild . append ( str . charAt ( i ));                 i ++;                 strbuild . append ( Character . toUpperCase ( str . charAt ( i )));             }             else {                 strbuild . append ( str . charAt ( i ));             }         }         return strbuild . toString ();     }     public static void main ( String [] args ) {                 String str = "hi i am udit " ;         String capital = capital ( str );         System . out . println ( capital );     } }

Counting Vowels in java

  class vowels {     public static int findlowerCaseVowelCount ( String str ){         int len = str . length ();         int vowelCount = 0 ;             for ( int i = 0 ; i < len ; i ++){             char ch = str . charAt ( i );                 if ( Character . isLowerCase ( ch ) == true ){                 if ( ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' ){                     vowelCount ++;                 }             }         }             return vowelCount ;     }         public static void main ( String [] args ) {         String s1 = "hello" ;         int count = findlowerCaseVowelCount ( s1 );         System . out . println ( count );     } }

Addition of characters using string biuilder TC=O(26) or O(n)

  class addchar {     public static void main ( String [] args ) {                 StringBuilder str = new StringBuilder ( "udit" );         for ( char ch = 'a' ; ch <= 'z' ; ch ++){             str . append ( ch );         }         System . out . println ( str );     } }

addition of characters in string TC= O(n^2);

  class characteradd {     public static void main ( String [] args ) {                 String str = "tony" ;         for ( char i = 'a' ; i < 'z' ; i ++){             str += i ;         }         System . out . println ( str );     } }

Largest String using lexicographic order (TC = O(x*n)) x= size of string ; n=total number of strings

  class largeststring {     public static void main ( String [] args ) {         String fruits [] = { "apple" , "Mango" , "banana" };         String largest = fruits [ 0 ];         for ( int i = 1 ; i < fruits . length ; i ++){             if ( largest . compareToIgnoreCase ( fruits [ i ]) < 0 ){                                 largest = fruits [ i ];             }         }         System . out . println ( largest );             } } Time Complexity :- O(x*n) x = size of largest string n= total nuymber of strings

shortest path using strings

  class shortest {     public static void main ( String [] args ) {         int x2 = 0 , y2 = 0 , x1 = 0 , y1 = 0 ;         //Time Complexity is O(n)         String str = "WNEENESENNN" ;         for ( int i = 0 ; i < str . length (); i ++){             if ( str . charAt ( i ) == 'W' ){                 x2 = x2 - 1 ;             }             if ( str . charAt ( i ) == 'E' ){                 x2 = x2 + 1 ;             }             if ( str . charAt ( i ) == 'N' ){                 y2 = y2 + 1 ;             }             if ( str . charAt ( i ) == 'S' ){                 y2 = y2 - 1 ;             }         }         int f = ( int ) Math . sqrt (( x2 - x1 ) * ( x2 - x1 ) + ( y2 - y1 ) * ( y2 - y1 ));         System . out . println ( "Shortest path is " + f    );             } }