摘要:
动态规化 使用两个数组保存左边数字的最大值与右边数字的最大值遍历数组中每个元素,该元素所在位置能接的雨水量为该元素左边界和右边界的最小值减去该位置柱子的高度 class Solution { public int trap(int[] height) { if (height == null || 阅读全文
摘要:
解法 从根节点开始,判断p,q是否存在于当前节点的左子树和右子树之中: 如果存在则当前节点为pq的最近公共节点如果p q 在当前节... 阅读全文
摘要:
思路 从根节点开始遍历: 如果当前节点大于p,q 那么p,q的最近公共节点在当前节点的左子树如果当前节点小于p,q 那么p,q的最... 阅读全文
摘要:
解法 要考虑清楚非法输入、溢出等问题 class Solution { public int strToInt(String... 阅读全文
摘要:
解法 把A数组分为两部分: A[0,...,i-1]A[i+1,...,n-1] 数组B可以用一个矩阵创建: 另C[i]为矩阵第... 阅读全文
摘要:
解法 使用位运算: 不计算进位,a与b异或完成二进制加法使用按位与计算哪一位相加会产生进位a b 相加结果与进位(按位与的结果左移... 阅读全文
摘要:
解法 使用一个变量min保存数组前i-1个元素的最小值,扫描整个数组更新最小值的同时计算差值,通过打擂的方式获得最大利润。 cla... 阅读全文
摘要:
解法一 环形链表 使用链表构造一个环,每个删除第m个数直到链表中剩下一个元素 class Solution { public ... 阅读全文
摘要:
解法 class Solution { public boolean isStraight(int[] nums) { ... 阅读全文
摘要:
解法一 递归 class Solution { // 提高程序扩展性 public int maxValue = 6;... 阅读全文