摘要:
问题: 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 解决 //1、动态规划 class Solution { public int maxSubArray(int[] nums) { int cur, proMax=0, res 阅读全文
摘要:
问题 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。 解决 //1、打标法(数学归纳),通过某一位上面的规律推广到所有位 class Solution { public int count 阅读全文
摘要:
问题 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 解决 //1、根据路径判断 class Sol 阅读全文
摘要:
问题 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 解决 //1、两次遍历 class Sol 阅读全文
摘要:
问题 给定一个字符串 s ,请计算这个字符串中有多少个回文子字符串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。 解决 //1、遍历统计(双指针),时间复杂度O(n^3) class Solution { public int countSubstrings(S 阅读全文
摘要:
问题: 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 解决 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode ri 阅读全文