牛客网高频算法题系列-BM19-寻找峰值

2022-10-10
阅读 3 分钟
1k
给定一个长度为n的数组nums,请你找到峰值并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个所在位置即可。峰值元素是指其值严格大于左右相邻值的元素。严格大于即不能有等于假设 nums[-1] = nums[n] = -\infty−∞对于所有有效的 i 都有 nums[i] != nums[i + 1]你可以使用O(logN)的时间复杂度实现此问题吗...
封面图

LeetCode-485-最大连续 1 的个数

2022-04-28
阅读 2 分钟
1.1k
题目描述:给定一个二进制数组, 计算其中最大连续 1 的个数。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
封面图

LeetCode-238-除自身以外数组的乘积

2022-04-22
阅读 2 分钟
1k
题目描述:给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
封面图

LeetCode-209-长度最小的子数组

2022-04-21
阅读 2 分钟
946
题目描述:给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [nums ~l~, nums~l+1~​​, ..., nums~r-1~, nums~r~] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所...
封面图

LeetCode-189-旋转数组

2022-04-20
阅读 2 分钟
1.2k
题目描述:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。进阶:尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗?示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请联...
封面图

LeetCode-165-比较版本号

2022-04-01
阅读 2 分钟
1.4k
题目描述:给你两个版本号 version1 和 version2 ,请你比较它们。版本号由一个或多个修订号组成,各修订号由一个 '.' 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。例如,2.5.33 ...

LeetCode-162-寻找峰值

2022-01-27
阅读 2 分钟
1.5k
题目描述:峰值元素是指其值大于左右相邻值的元素。给你一个输入数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞ 。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请...
封面图

LeetCode-153-寻找旋转排序数组中的最小值

2022-01-26
阅读 1 分钟
1.5k
题目描述:已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], ...
封面图

JZ-051-构建乘积数组

2022-01-09
阅读 2 分钟
1.6k
给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]A[1]...A[i-1]A[i+1]...A[n-1]。不能使用除法。(注意:规定B[0] = A[1] A[2] ... A[n-1],B[n-1] = A[0] A[1] ... A[n-2];)对于A长度为1的情况,B无意义,故而无法构建,因此该情况不会存在。题目链接: 构建乘积数组
封面图

JZ-050-数组中重复的数字

2022-01-08
阅读 3 分钟
1.4k
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中第一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。返回描述:如果数组中有重复的数字,函数返回true,否则返回f...
封面图

JZ-045-扑克牌顺子

2022-01-03
阅读 2 分钟
1.8k
LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并...
封面图

JZ-042-和为 S 的两个数字

2021-12-31
阅读 2 分钟
1.4k
输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。返回值描述:对应每个测试案例,输出两个数,小的先输出。题目链接: 和为 S 的两个数字
封面图

JZ-040-数组中只出现一次的数字

2021-12-29
阅读 1 分钟
1.3k
数组中只出现一次的数字题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。题目链接: 数组中只出现一次的数字代码 {代码...} 【每日寄语】 永远面朝阳光,阴影就会被甩到后面。
封面图

JZ-037-数字在排序数组中出现的次数

2021-12-26
阅读 1 分钟
1.2k
数字在排序数组中出现的次数题目描述统计一个数字在升序数组中出现的次数。题目链接: 数字在排序数组中出现的次数代码 {代码...} 【每日寄语】 向前走吧,沿着你的道路,鲜花将不断绽放。
封面图

JZ-035-数组中的逆序对

2021-12-24
阅读 2 分钟
1.4k
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007题目链接: 数组中的逆序对
封面图

JZ-030-连续子数组的最大和

2021-12-19
阅读 1 分钟
1.2k
HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0...
封面图

JZ-029-最小的 K 个数

2021-12-18
阅读 2 分钟
1.3k
标题最小的 K 个数输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。题目链接: 最小的 K 个数代码 {代码...} 【每日寄语】 生活总是这样,不能叫人处处满意,但我们还要热情活下去。人活一生,值得爱的东西很多,不要因为一个不满意就灰心。
封面图

JZ-028-数组中出现次数超过一半的数字

2021-12-17
阅读 1 分钟
1.5k
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。题目链接: 数组中出现次数超过一半的数字
封面图

JZ-013-调整数组顺序使奇数位于偶数前面

2021-12-02
阅读 2 分钟
1.7k
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。题目链接: 调整数组顺序使奇数位于偶数前面
封面图

LeetCode-130-被围绕的区域

2021-11-27
阅读 3 分钟
1.6k
题目描述:给你一个 m x n 的矩阵 board ,由若干字符 'X' 和 'O' ,找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
封面图

LeetCode-043-字符串相乘

2021-11-02
阅读 3 分钟
1.6k
题目描述:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
封面图

JZ-006-旋转数组的最小数字

2021-10-26
阅读 1 分钟
915
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。题目链接: 旋转数组的最小数字
封面图

LeetCode-228-汇总区间

2021-09-08
阅读 2 分钟
1.3k
题目描述:给定一个无重复元素的有序整数数组 nums 。返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。列表中的每个区间范围 [a,b] 应该按如下格式输出:"a->b" ,如果 a != b"a" ,如果 a == b示例说...
封面图

LeetCode-217-存在重复元素

2021-09-05
阅读 1 分钟
1.7k
题目描述:给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
封面图

LeetCode-080-删除有序数组中的重复项 II

2021-08-23
阅读 2 分钟
1.6k
题目描述:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请联...
封面图

LeetCode-075-颜色分类

2021-08-22
阅读 2 分钟
1.3k
题目描述:给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请联系官方...
封面图

LeetCode-059-螺旋矩阵 II

2021-08-15
阅读 2 分钟
1.4k
示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
封面图

LeetCode-057-插入区间

2021-08-14
阅读 4 分钟
987
题目描述:给你一个 无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
封面图

LeetCode-031-下一个排列

2021-08-03
阅读 3 分钟
1.4k
题目描述:实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须 原地 修改,只允许使用额外常数空间。示例说明请见LeetCode官网。来源:力扣(LeetCode) 链接:[链接] 著作权归领扣网络所有。商业...
封面图

LeetCode-169-多数元素

2021-07-28
阅读 2 分钟
1.3k
题目描述:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例说明请见LeetCode官网。来源:力扣(LeetCode)链接:[链接]著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
封面图