摘要: 给定一个长度为N的整型数组arr, 其中只有N个互不相等的自然数 1~N 请实现 arr的排序, 但是不要把下标0~N-1位置上的数通过直接赋值的方法替换成 1~N 分析: arr在调整之后应该是下表从 0 到 N-1的位置上以此放着1~N 即 arr[index] = index+1 从左到右遍历 阅读全文
posted @ 2017-09-07 17:52 toov5 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 一个数组中 每个元素左边比他小的和 然后都加起来 这个题目非常牛逼,可以用归并加速法,在归并的过程中做文章!!! 代码展示: 结果: 阅读全文
posted @ 2017-09-07 17:32 toov5 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 给定一个无序数组arr,其中元素可正、可负、可0,给定一个整数k,求arr所有的子数组中累加和小于或等于k的最长子数组长度。 例如: arr=[3,-2,-4,0,6] , k=-2, 相加和小于或者等于-2的最长子数组为{3,-2,-4,0}, 所以结果返回4 解题思想(我称之为预处理思想): 预 阅读全文
posted @ 2017-09-07 15:46 toov5 阅读(873) 评论(0) 推荐(0) 编辑
摘要: 可正 负 0 的数组,给定一个正整数k 求arr 所有子数组中累加和为k的最长子数组问题 s(i) 代表前i个元素的和,那么子数组arr[i.....j]的累加和为 s(i)-s(j-1) 这是题目的核心!!! 这样原问题解法,只遍历一遍。 设置map key表示此处的sum值 value表示出现的 阅读全文
posted @ 2017-09-07 14:08 toov5 阅读(529) 评论(0) 推荐(0) 编辑
摘要: 例如 arr=[1,2,1,1,1] k=3 累加和为 3的最长子数组为[1,1,1] 所以结果为3 思路方法: 两个指针 left 和right 初始值都是0 都在左边 sum 代表 子数组 left.....right的和 len 一直记录累加和为k的所有子数组中最大子数组的长度 根据 sum与 阅读全文
posted @ 2017-09-07 11:26 toov5 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 这个问题跟上一个 大同小异,如何不重复打印呢? 首先保证选定三元数组中第一个值不重复,剩下的就跟前一个题目一样了。 阅读全文
posted @ 2017-09-07 10:50 toov5 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 给定一个排序数组arr 和整数 k, 在里面找到所相加为k的二元数组。 思路: 充分利用有序呀 二元数组嘛 可以两个指针 一个 left 一个right 不断向中间压缩 看看和与k的关系 然后移动相应的指针 阅读全文
posted @ 2017-09-07 10:30 toov5 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 如果一个数组在排序之后,每相邻两个数差的绝对值都为1,则该数组为可整合数组 方法一(通俗的做法) 考察每个子数组 > 复制成新数组 > 新数组排序 >验证是否符合 代码: 改进的方法: 加速验证过程,前方高能!!!!! 》》》》》》》》》 判断一个数组是否可是可整合, 如果 max-min+1= 元 阅读全文
posted @ 2017-09-06 19:36 toov5 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 给定一个NXM的整型矩阵,和一个整数K,每一行,每一列都是排好的。判断K是否在matrix中 反正上下已经排列好了 初始位置定在左上角,然后开始,比较 ==K 返回 <k 往下走 row++ >k 往左走 col-- 代码实现: 完整代码可以这么玩儿: 阅读全文
posted @ 2017-09-05 09:56 toov5 阅读(297) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2017-08-27 16:59 toov5 阅读(10) 评论(0) 推荐(0) 编辑