2018年5月28日
平均星级:4.38 (235次评分)
} 数字的一半?毕竟,如果该数字是回文,其后半部分反转后应该与原始数字的前半部分相同。 例如,输入 1221,我们可以将数字“1221”的后半部分从“21”反转为“12”,并将其与前半部分“12”进行比...
2018年6月3日
平均星级:4.70 (105次评分)
layground/FBVSktp9/shared" frameBorder="0" width="100%" height="208" name="FBVSktp9"></iframe>复杂度分析 时...
2019年1月10日
平均星级:4.74 (78次评分)
解决方案 方法一:水平扫描法 思路 首先,我们将描述一种查找一组字符串的最长公共前缀 LCP(S_1 \ldots S_n) 的简单方法。 我们将会用到这样的结论: LCP(S_1 \ldots S_...
2018年7月15日
平均星级:4.08 (60次评分)
算法 思路 我们注意到这个问题可以容易地简化成另一个问题:删除从列表开头数起的第 (L - n + 1) 个结点,其中 L 是列表的长度。只要我们找到列表的长度 L,这个问题就很容易解决。 算法 首先我...
2018年10月4日
平均星级:4.69 (179次评分)
相匹配的闭括号(即 ))。此时,我们只是增加计数器的值保持跟踪现在为止开括号的数目。left += 1 如果我们遇到一个闭括号,这可能意味着这样两种情况: 此闭括号没有与与之对应的开括号,在这种情况下,...
2018年8月5日
平均星级:4.47 (57次评分)
否有效。 算法 为了生成所有序列,我们使用递归。长度为 n 的序列就是 '(' 加上所有长度为 n-1 的序列,以及 ')' 加上所有长度为 n-1 的序列。 为了检查序列是否为有效的,我们会跟踪平衡,...
2018年6月4日
平均星级:4.05 (326次评分)
i] 时,跳过重复项的运行已经结束,因此我们必须把它(nums[j])的值复制到 nums[i + 1]。然后递增 i,接着我们将再次重复相同的过程,直到 j 到达数组的末尾为止。 <iframe sr...
2018年8月12日
平均星级:4.44 (57次评分)
什么? 解决方案 方法一:双指针 思路 既然问题要求我们就地删除给定值的所有元素,我们就必须用 O(1) 的额外空间来处理它。如何解决?我们可以保留两个指针 i 和 j,其中 i 是慢指针,j 是快指针...
2018年8月20日
平均星级:4.18 (50次评分)
的降序,没有可能的下一个更大的排列。 例如,以下数组不可能有下一个排列: [9, 5, 4, 3, 1] 我们需要从右边找到第一对两个连续的数字 a[i] 和 a[i-1],它们满足 a[i]>a[i-...
2019年1月14日
平均星级:4.27 (33次评分)
layground/ciMCoxXQ/shared" frameBorder="0" width="100%" height="500" name="ciMCoxXQ"></iframe>复杂度分析 时...