1.將乙個正方形陣列順時針旋轉90°。
package algorithm;
/** *
* @author hasee
* */
public class rotageorderprint ,,,
,};
rotag(arr); }
public static void rotag(int arr) ,,,
,};
sqrialorder(arr); }
public static void sqrialorder(int arr)
} private static void sqlrialprint(int arr, int lb, int le, int rb, int re)
}else if(le == re)
}else
while(a < rb)
system.out.print(arr[a++][re]+" ");
while(b > le)
system.out.print(arr[rb][b--]+" ");
while(a > lb)
system.out.print(arr[a--][le]+" ");
} }}
3.給定乙個陣列和乙個數num,把小於num的書放在陣列左邊,大於num的書放在陣列右邊
package algorithm;
/** * 給定乙個陣列,和乙個數num,把小於num的書放在陣列左邊,大於num的書放在陣列右邊
* */
public class test4 ;
convert(a,5);
for (int i : a) }
public static void convert(inta ,int num) else
} } private static void swap(int a, int l, int cur)
}
4.使用歸併演算法求小和問題
package algorithm;
/** * 使用歸併演算法求小和問題
* @author hasee
* */
public class smallsum ;
system.out.println(merge(a));
} public static int merge(int a)
private static int mergesort(int a, int l, int r)
private static int merge(int a, int l, int mid, int r)
return count; }
}
關於陣列的演算法題
1.當陣列中包含負數時,返回該陣列的最大連續子串行的和。例如 6,3,2,7,15,1,2,2 其連續子串行的最大和是8 從第0個開始,到第3個為止 子串行的長度至少為1。class solution def sum arr self,array sum 0 max 0 for data in ar...
關於KMP演算法的next陣列
kmp的next陣列求法是很不容易搞清楚的一部分,也是最重要的一部分。我這篇文章就以我自己的感悟來慢慢推導一下吧!保證你看完過後是知其然,也知其所以然。如果你還不知道kmp是什麼,請先閱讀上面的鏈結,先搞懂kmp是要幹什麼。下面我們就來說說kmp的next陣列求法。kmp的next陣列簡單來說,假設...
關於字尾陣列的倍增演算法和height陣列
自己看著大牛的 學了一下字尾陣列,看了好久好久,想了好久好久才懂了一點點皮毛tat 然後就去刷傳說中的字尾陣列神題,poj3693是進化版的,需要那個相同情況下字典序最小,搞這個搞了超久的說。先簡單說一下字尾陣列。首先有幾個重要的陣列 sa陣列 字尾陣列 儲存所有字尾排序後從小到大的序列。即sa i...