算法学习
独家雨天
数据热衷者,追求进步。分析大数据,提供决策支持。团队合作,沟通精通。
展开
-
LeetCode 124. 二叉树中的最大路径和
124. 二叉树中的最大路径和要点在于 【分解】。如果我们换个问法,怎么求出二叉树中根节点出发的最长路径和?用递归可以很快的写出计算逻辑 // 定义:计算从根节点 root 为起点的最大单边路径和 int oneSideMax(TreeNode root) { if (root == null) { return 0; } int leftMaxSum = Math.max(0, oneSideMax(root.le原创 2022-04-03 22:03:07 · 1041 阅读 · 0 评论 -
Java实现字符串的排序与组合-详细分析实现过程
剑指Offer_24 字符串的排序2018/6/19 星期二题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入描述 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。牛客网代码编写框架:...原创 2018-06-19 01:27:38 · 2960 阅读 · 0 评论 -
快速找出数组中出现次数超过一半的数字
“只要不是特别大的内存开销,时间复杂度比较重要。因为改进时间复杂度对算法的要求更高。” ——吴斌(NVidia,Graphics Architect)同样是查找,如果是顺序查找需要O(n)的时间;如果输入的是排序的数组则只需要O(logn)的时间;如果事先已经构造好了哈希表,那查找在O(1)时间就能完成。我们只有对常见的数据结构和算法都了然于胸,才能在需要的时候选择合适的数据结构...原创 2018-07-09 22:04:45 · 26569 阅读 · 12 评论