@@ -16,6 +16,50 @@ public static void main(String[] args) {
1616 spiralPattern ();
1717 mergeTwoArraysWithoutDuplicates ();
1818 printNumberInWords ();
19+ slidingIndex ();
20+ patternPrinting ();
21+ System .out .println (
22+ Arrays .toString (placeZerosLast (new int [] {8 , 0 , 4 , 0 , 2 , 0 , 1 , 3 , 55 , 5001 })));
23+ }
24+
25+ private static int [] placeZerosLast (int [] numbs ) {
26+ int [] newArr = new int [numbs .length ];
27+ int count = 0 ;
28+ for (int num : numbs ) {
29+ if (num != 0 ) newArr [count ++] = num ;
30+ }
31+ return newArr ;
32+ }
33+
34+ private static void patternPrinting () {
35+ int num = 5 ;
36+ String start = "1" ;
37+ System .out .println (start );
38+ for (int i = 0 ; i < num - 1 ; i ++) {
39+ StringBuilder str = new StringBuilder ();
40+ for (int j = 0 ; j < start .length (); j ++) {
41+ int cnt = 1 ;
42+ while (j + 1 < start .length () && start .charAt (j ) == start .charAt (j + 1 )) {
43+ cnt ++;
44+ j ++;
45+ }
46+ str .append (cnt ).append (start .charAt (j ));
47+ }
48+ start = str .toString ();
49+ System .out .println (start );
50+ }
51+ }
52+
53+ private static void slidingIndex () {
54+ int [] arr = {1 , 2 , 3 , 1 , 4 , 5 , 2 , 3 , 6 };
55+ int k = 3 ;
56+ for (int i = 0 ; i <= arr .length - k ; i ++) {
57+ int max = arr [i ];
58+ for (int j = 1 ; j < k ; j ++) {
59+ if (arr [i + j ] > max ) max = arr [i + j ];
60+ }
61+ System .out .print (max + " " );
62+ }
1963 }
2064
2165 private static void printNumberInWords () {
@@ -122,7 +166,7 @@ private static void wordPattern() {
122166 }
123167
124168 private static void spiralPattern () {
125- int matrix [][] = {
169+ int [][] matrix = {
126170 {1 , 2 , 3 , 4 }, {14 , 15 , 16 , 5 }, {13 , 20 , 17 , 6 }, {12 , 19 , 18 , 7 }, {11 , 10 , 9 , 8 }
127171 };
128172
@@ -232,14 +276,13 @@ private static int[] insertionSort(int[] intArray) {
232276 return intArray ;
233277 }
234278
235- private static int [] descendingSort (int [] intArray ) {
279+ private static void descendingSort (int [] intArray ) {
236280 for (int i = 1 ; i < intArray .length ; i ++) {
237281 int previousIndex = i - 1 , currentValue = intArray [i ];
238282 while ((previousIndex > -1 ) && intArray [previousIndex ] < currentValue ) {
239283 intArray [previousIndex + 1 ] = intArray [previousIndex --];
240284 }
241285 intArray [previousIndex + 1 ] = currentValue ;
242286 }
243- return intArray ;
244287 }
245288}
0 commit comments