2013年10月15日

摘要: 推荐使用堆排序,复杂度0(n*lgn)/// /// 利用堆排序选出数组的最小的k个元素 /// public class HeapSort { /// /// 大根堆排序 /// public static void Sort() { int[] array = { 1, 3, 7, 5, 2, 8, 4, 6, 10, 9 }; //创建大根堆,父节点都大于子节点 CreateHeap(array); ... 阅读全文
posted @ 2013-10-15 17:48 豆沙包没有肉 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 方案一:遍历所有子数组,复杂度o(n^3) public static int Max1() { int[] array = { 1, -2, 3, 10, -4, 7, 2, -5 }; int length = array.Length; int maximum = array[0]; int sum = 0; for (int i = 0; i maximum) maximum = sum; ... 阅读全文
posted @ 2013-10-15 16:10 豆沙包没有肉 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 两个字符串中字符是否包含的问题比如,如果是下面两个字符串:String 1: ABCDEFGHLMNOPQRSString 2: DCGSRQPO答案是true,所有在string2里的字母string1也都有。如果是下面两个字符串:String 1: ABCDEFGHLMNOPQRSString 2: DCGSRQPZ 答案是false,因为第二个字符串里的Z字母不在第一个字符串里。方案一:两个循环分别轮询,复杂度o(m*n)方案二:用快排法对两个字符串进行排序,然后遍历两个已排序的字符串,复杂度o(mlgm)+o(nlgn)+o(m+n) 遍历已经排序字符串的代码 public s... 阅读全文
posted @ 2013-10-15 14:54 豆沙包没有肉 阅读(203) 评论(0) 推荐(0) 编辑

导航