码迷,mamicode.com
首页 >  
搜索关键字:子数组    ( 1941个结果
数组的宽度 单调栈
N个整数组成的数组,定义子数组a[i]..a[j]的宽度为:max(a[i]..a[j]) - min(a[i]..a[j]),求所有子数组的宽度和。 分析: 我们只要统计每个数做为最小的数和最大的数所在区间有多少个。这样求当前数作为最大的数左右范围,这个用单调栈维护下,同理最小的也是然后左区间大小 ...
分类:编程语言   时间:2019-07-17 20:44:45    阅读次数:173
数组中只出现一次的数字
思路: 如果只有一个数字,那么就好求了,直接异或,结果就是这个数字。 试着把原数组分成两个子数组,每个数组包含一个只出现一次的数字,其他数字都是成对出现。 怎么拆分呢? 1、先把数组从头到尾异或,最终得到的结果是这两个数字异或的结果,由于这两个数字不一样,所以异或的结果肯定非0,即结果数字的二进制表 ...
分类:编程语言   时间:2019-07-17 20:28:49    阅读次数:143
快速排序算法
快速排序是一种常用的排序算法,比选择排序快很多。 在快速排序中使用了大量的递归,快速排序的三个步骤: 1、选择基准值 2、将数组分成两个子数组;小于基准值的元素和大于基准值的元素 3、对这两个子数组进行快速排序(递归) 快速排序的速度取决于选择的基准值,运行速度记做 O(n longn ),大O表示 ...
分类:编程语言   时间:2019-07-17 00:50:44    阅读次数:127
【UOJ 47】滑行的窗口
【题目描述】: 给定一个长度为n的数列a,再给定一个长度为k的滑动窗口,从第一个数字开始依次框定k个数字,求每次框定的数字中的最大值和最小值,依次输出所有的这些值。下面有一个例子数组是 [1 3 1 3 5 6 7] , k 是3: 窗口位置 窗口中的最小值 窗口中的最大值 [1 3 -1] -3 ...
分类:其他好文   时间:2019-07-15 23:57:15    阅读次数:169
左神算法书籍《程序员代码面试指南》——1_10最大值减去最小值小于或等于num的子数组数量
【题目】给定数组arr和整数num,共返回有多少个子数组满足如下情况:max(arr[i.j]) - min(arr[i.j]) <= num max(arfi.j])表示子数组ar[ij]中的最大值,min(arli.j])表示子数组arr[i.j]中的最小值。【要求】如果数组长度为N,请实现时间 ...
分类:编程语言   时间:2019-07-13 16:11:40    阅读次数:177
leetcode53. 最大子序和 🌟
题目: 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶: 如果你已经实现复杂度为 O(n) 的解法, ...
分类:其他好文   时间:2019-07-12 22:28:47    阅读次数:152
LeetCode.1018-可被5整除的二进制数(Binary Prefix Divisible By 5)
这是小川的第 379 次更新,第 407 篇原创 01 看题和准备 今天介绍的是 LeetCode 算法题中 Easy 级别的第 241 题(顺位题号是 1018 )。给定0和1的数组A,考虑 :从 到`A[i] i`个子数组被解释为二进制数(从最高有效位到最低有效位)。 返回布尔值 列表,当且仅当 ...
分类:其他好文   时间:2019-07-11 09:25:17    阅读次数:74
剑指offer:连续子数组的最大和
题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的
分类:编程语言   时间:2019-07-10 11:14:01    阅读次数:130
输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。要求时间复杂度为O(n)(解决)
输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。要求时间复杂度为O(n)。 输入描述: 【重要】第一行为数组的长度N(N>=1)接下来N行,每行一个数,代表数组的N个元素 输出描述: 最大和的结果 输入例子1: 8 1 -2 3 10 -4 7 2 -5 输出例子 ...
分类:编程语言   时间:2019-07-01 17:01:02    阅读次数:620
快速排序从入门到精通
1.基本算法 快速排序是一种分治的排序算法。它将一个数组分成两个子数组,再对这两个数组独立地排序。快速排序的大致过程如下图所示: 整个算法分为三步: 1. 选择一个元素作为枢轴(pivot) 2. 扫描并交换数组元素,使得小于枢轴的元素处于左边,大于枢轴的元素处于右边,这个过程称为切分(partit ...
分类:编程语言   时间:2019-06-30 14:14:07    阅读次数:120
1941条   上一页 1 ... 30 31 32 33 34 ... 195 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!