- 博客(9)
- 收藏
- 关注
原创 删掉一个元素以后全为 1 的最长子数组
删掉一个元素以后全为 1 的最长子数组给你一个二进制数组 nums ,你需要从中删掉一个元素。请你在删掉元素的结果数组中,返回最长的且只包含 1 的非空子数组的长度。如果不存在这样的子数组,请返回 0 。提示 1:输入:nums = [1,1,0,1]输出:3解释:删掉位置 2 的数后,[1,1,1] 包含 3 个 1 。示例 2:输入:nums = [0,1,1,1,0,1,1,0,1]输出:5解释:删掉位置 4 的数字后,[0,1,1,1,1,1,0,1] 的最长全 1 子数组为
2020-09-27 20:00:25 342
原创 所有奇数长度子数组的和
给你一个正整数数组 arr ,请你计算所有可能的奇数长度子数组的和。子数组 定义为原数组中的一个连续子序列。请你返回 arr 中 所有奇数长度子数组的和 。示例 1:输入:arr = [1,4,2,5,3]输出:58解释:所有奇数长度子数组和它们的和为:[1] = 1[4] = 4[2] = 2[5] = 5[3] = 3[1,4,2] = 7[4,2,5] = 11[2,5,3] = 10[1,4,2,5,3] = 15我们将所有值求和得到 1 + 4 + 2 + 5 +
2020-09-22 09:07:21 436
原创 区间子数组个数
给定一个元素都是正整数的数组A ,正整数 L 以及 R (L <= R)。求连续、非空且其中最大元素满足大于等于L 小于等于R的子数组个数。 return count(A, R) - count(A, L-1); } public int count(int[] A, int bound) { int ans = 0, cur = 0; for (int x: A) { cur = x <= bound
2020-09-16 19:03:57 158
原创 Smallest Range II
我们可以对上述想法形式化表述:如果 A[i] < A[j],我们不必考虑当 A[i] 增大时 A[j] 会减小。这是因为区间 (A[i] + K, A[j] - K) 是 (A[i] - K, A[j] + K) 的子集(这里,当 a > b 时 (a, b) 表示 (b, a) )。这意味着对于 (up, down) 的选择一定不会差于 (down, up)。我们可以证明其中一个区间是另一个的子集,通过证明 A[i] + K 和 A[j] - K 是在 A[i] - K 和 A[j] + K
2020-09-15 15:48:46 277
原创 字符串的最大公因子
对于字符串 S 和 T,只有在 S = T + … + T(T 与自身连接 1 次或多次)时,我们才认定 “T 能除尽 S”。返回最长字符串 X,要求满足 X 能除尽 str1 且 X 能除尽 str2。示例 1:输入:str1 = “ABCABC”, str2 = “ABC”输出:“ABC”示例 2:输入:str1 = “ABABAB”, str2 = “ABAB”输出:“AB”示例 3:输入:str1 = “LEET”, str2 = “CODE”输出:""提示:1 <=
2020-09-15 09:08:14 76
原创 最长等差数列
给定一个整数数组 A,返回 A 中最长等差子序列的长度。回想一下,A 的子序列是列表 A[i_1], A[i_2], …, A[i_k] 其中 0 <= i_1 < i_2 < … < i_k <= A.length - 1。并且如果 B[i+1] - B[i]( 0 <= i < B.length - 1) 的值都相同,那么序列 B 是等差的。class Solution: def longestArithSeqLength(self, A: List
2020-09-14 11:09:29 185
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人