
leetcode
文章平均质量分 68
wlmmmm
这个作者很懒,什么都没留下…
展开
-
[LeetCode] House Robber
House Robber You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is原创 2015-05-28 13:02:14 · 435 阅读 · 0 评论 -
判断二叉树是否对称
题意:判断一棵二叉树是否对称,即该二叉树同它的镜像是否一样思路:1、层次遍历二叉树;2、空节点用 -1 代替。/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) {原创 2015-08-21 11:32:34 · 555 阅读 · 0 评论 -
[LeetCode] Number of Digit One
题意:计算从 1~n 中所有的数的 1 的个数总和。题目链接:Number of Digit One思路:代码来自《编程之美》2.41位数:n >= 1, f(n) = 1,n = 0, f(n) = 0 2位数:f(n) = 个位数1的个数 + 十位数1出现的个数;个位数1的个数:个位数值>=1,1的个数为十位数数值加1;个位数为0,1的个数则为十位数数值;十位数转载 2015-08-21 17:29:44 · 437 阅读 · 0 评论 -
层次遍历的两种方式:递归与迭代
二叉树的层次遍历方式一:递归调用(参考网上的方法),先序遍历递归时多传递一个层次数,按照该层次数保存节点相关值。private List> resList = new ArrayList>();public static void levelTraversal(int dep, TreeNode root) { if(root == null) { return ; } if(原创 2015-08-21 11:38:27 · 2967 阅读 · 0 评论 -
[LeetCode] 根据前序序列和中序序列重建二叉树
LeetCode 链接: 根据前序和中序序列重建二叉树思路:1、根据先序向量数组的值把中序向量数组一分为二,然后递归左右部分;2、设置全局 index 索引,作为先序遍历向量的下标,每次递归左子树之后减一。/** * Definition for a binary tree node. * public class TreeNode { * int val原创 2015-08-21 10:02:13 · 2762 阅读 · 0 评论 -
[LeetCode] 根据中序和后序序列重建二叉树
LeetCode 链接: 根据中序和后序序列重建二叉树思路:主要在于左右子树根节点的寻找过程1、右子树根节点为 postorder 向量容器中根节点的前一个数,故递归时为postorder 的 (index - 1);2、左子树的根节点为 当前 inorder 向量区间内在 postorder 向量容器中出现的最晚的数,故寻找到该索引为postorder 的 tmp ;3、特殊情况原创 2015-08-21 10:35:52 · 1489 阅读 · 0 评论 -
[LeetCode] Combinations
题目链接:Combinations解题思路:1、递归2、n 个数里选择 m 个数,那么 i 能选择的数为 0 - (n - m)3、设置index标识已经选择的数的个数,故每次递归时应为 index - 14、设置 vector 保存所有的结果代码如下:class Solution {private: vector > res ;public: ve原创 2015-08-18 23:50:58 · 563 阅读 · 0 评论 -
字符串全排列问题
全排列问题:给定字符串 abc,全排列为:abc, acb, bac, bca, cab, cba递归实现:1、标记访问状态数组 val,当前所保存的字符串对象 tmp,保存结果数组 res;2、思路:每次从 0 到 str.length() - 1,选择未被访问的字符加入到 tmp 中,标记当前字符为已访问;往后递归; 当所有的字符都被访问过时,加入到 res 数组中原创 2015-08-19 15:04:00 · 504 阅读 · 0 评论 -
归并排序之数组的逆序对
题意:求出给定的数组中的逆序对的数量,可使用归并排序求解。import java.util.* ;public class Solution { public int InversePairs(int [] array) { if(array.length == 0) { return 0 ; } re原创 2015-08-22 13:36:31 · 448 阅读 · 0 评论 -
[LeetCode] Isomorphic Strings
Given two strings s and t, determine if they are isomorphic.Two strings are isomorphic if the characters in s can be replaced to get t.All occurrences of a character must be replaced with anot原创 2015-05-25 13:55:22 · 473 阅读 · 0 评论 -
[LeetCode] Repeated DNA Sequences
Repeated DNA Sequences All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for example: "ACGAATTCCG". When studying DNA, it is sometimes useful to identify repeated sequenc原创 2015-05-28 15:28:06 · 505 阅读 · 0 评论 -
[LeetCode] Maximun Subarray
求连续的子数组中和的最大值。原文链接:Maximum Subarray思路:动态规划求出每一个点上的子数组的和的最大值,最后遍历 dp 数组求出最大值即为答案,状态转移方程为:dp[i] = max(dp[i - 1] + nums[i], nums[i]) ; public class Solution { public int maxSubArray(int[] nums) {原创 2015-08-21 15:45:16 · 474 阅读 · 0 评论