摘要: package demo; public class P66 { //要求找到累加和最大的子数组(连续),返回最大累加和 //递推法:从左向右扫描,同时记录当前子数组的累加和arrSum、当前最大累加和maxSum。 //如果arrSum<0,说明这部分产生负面作用,所以舍弃、重新开子数组。否则继续 阅读全文
posted @ 2022-05-04 19:55 fighterk 阅读(22) 评论(0) 推荐(0)
摘要: package demo; import java.util.Arrays; public class P54 { //乱序数组,计算需要排序的最小范围,使得数组变为增序 //思路:扫描两轮,分别确定左、右端点。 //从左往右,却出现(相对于历史高点的)下折,要移动右端点;同理,确定左端点。 pub 阅读全文
posted @ 2022-05-04 19:54 fighterk 阅读(40) 评论(0) 推荐(0)
摘要: package demo; public class P63 { //要求在值为0或1、N*N的矩阵中,找到最大的1构成的正方形边框,并返回边长 public static void main(String[] args) { int[][] arr= { {0,0,1,0}, {0,1,1,0}, 阅读全文
posted @ 2022-05-04 19:54 fighterk 阅读(37) 评论(0) 推荐(0)
摘要: package demo; public class P51 { //基数排序 //思路:数组中最大值位数为k,从个位开始往高位进行k轮(桶排序+填回原数组),每轮以那一位的数字为分桶的依据 public static void main(String[] args) { int[] a = {49 阅读全文
posted @ 2022-05-04 19:53 fighterk 阅读(32) 评论(0) 推荐(0)
摘要: package demo; import java.util.Arrays; public class P49 { //计数排序 //思路为用辅助空间下标对应元素值,下标放的值对应元素出现次数。然后遍历辅助空间,就能有序填回原来数组。 //适用于数据密集并且峰值较小的数组,否则会浪费很多空间 pub 阅读全文
posted @ 2022-05-02 19:53 fighterk 阅读(19) 评论(0) 推荐(0)
摘要: package demo; import java.util.Arrays; public class P47 { //堆必定是完全二叉树,小顶堆任意父节点小于等于其子节点,大顶堆则是大于等于 //堆排序(以小顶堆为例,用大顶堆结果才是递增) 分为两步:堆化、按序输出 //堆化:从倒数第二行有子节点 阅读全文
posted @ 2022-05-02 19:52 fighterk 阅读(164) 评论(0) 推荐(0)
摘要: package demo; public class P45 { //完全二叉树的先根、中根、后根遍历 static void preOrder(int[] arr,int index){ if(index>=arr.length) return; System.out.print(arr[inde 阅读全文
posted @ 2022-05-02 19:51 fighterk 阅读(148) 评论(0) 推荐(0)
摘要: package demo; public class P43 { //乱序整型数组,元素为在用的id(从1开始),求最小空余可用id //思路1:创建(length+1)数组,下标对应id,id<=length且用过则值设为1 //思路2:用分区法,不断二分。如果下标+1==id,说明左区和mid都 阅读全文
posted @ 2022-05-02 19:50 fighterk 阅读(27) 评论(0) 推荐(0)
摘要: package demo; public class P40 { //乱序数组,有一个数字个数超过数组的一半,求该数字 //思路:不同数字抵消次数的最后结果,或者分区找第(length/2)小的数字 //变种:出现次数为总数一半 //思路:分为目标是最后一个/不是的情况,对最后一个数出现次数计数。 阅读全文
posted @ 2022-05-02 19:46 fighterk 阅读(39) 评论(0) 推荐(0)
摘要: package demo; import java.util.Arrays; public class P37 { //归并排序,重点在于子问题合并 //思路:辅助空间拷贝整个数组,左区开头、右区开头各有一个指针,比较后较小的值放回原数组,对应指针和原数组指针右移。 public static vo 阅读全文
posted @ 2022-05-02 19:45 fighterk 阅读(31) 评论(0) 推荐(0)