BD的笔记

昨日已成往事,当下才属未来

LeetCode121:Best Time to Buy and Sell Stock I and II

public class Solution { public int maxProfit(int[] prices) { if(prices==null || prices.length==1){ return 0; } ...

2016-12-31 14:09:34

阅读数 263

评论数 0

LeetCode473: Matchsticks to Square

public class Solution { //sums是当前每个边的大小 index是在数组中的位置 average是每个边的长度 public boolean robot(int[] nums, int [] sums , int index, int average){ ...

2016-12-24 10:17:58

阅读数 812

评论数 3

LeetCode376:Wiggle Subsequence

这道题的意思是寻找一个子序列,这个序列需要满足一定的条件: 1. 不能连续递增或者递减 2. 只能间隔递增或者递减 3. 两数之间的差值必须不为0对于满足要求的序列[1,7,4,9,2,5],我们可以做一个图: 我们发现这个图形的规律,是不是一上一下或者一下一上,形成一个拐点就是答...

2016-12-21 08:50:28

阅读数 302

评论数 0

LeetCode105: Construct Binary Tree from Preorder and Inorder Traversal

与题目106类似: 从前序遍历,与中序遍历中还原二叉树。 假设树: 通过先序遍历找到第一个点作为根节点,在中序遍历中找到根节点并记录index。 因为中序遍历中根节点左边为左子树,所以可以记录左子树的长度(index-in_left),并在先序遍历中依据这个长度...

2016-12-18 20:58:23

阅读数 439

评论数 0

LeetCode106:Construct Binary Tree from Inorder and Postorder Traversal

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int...

2016-12-11 19:36:32

阅读数 167

评论数 0

LeetCode104:Maximum Depth of Binary Tree

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int...

2016-12-11 11:17:38

阅读数 175

评论数 0

LeetCode110:Balanced Binary Tree

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int...

2016-12-11 11:15:53

阅读数 195

评论数 0

LeetCode257:Binary Tree Paths

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int...

2016-12-11 11:13:37

阅读数 192

评论数 0

LeetCode 357: Count Numbers with Unique Digits

public class Solution { public int countNumbersWithUniqueDigits(int n) { if(n==0) return 1; if(n==1) return 10; int ans =10;...

2016-12-11 11:08:32

阅读数 195

评论数 0

LeetCode111:Minimum Depth of Binary Tree

DFS系列思路: 1.边界条件:如果树为空,则返回 2.满足条件的解:当到达叶子节点时,即左右子树为空,则比较当前的深度与所记录的最小深度,若比最小深度小,则更新最小深度,否则不执行。 3.如果左子树不为空则进行搜索,如果右子树不为空则进行搜索。public class Solution {...

2016-12-09 16:29:51

阅读数 191

评论数 0

LeetCode 20:Valid Parentheses

符号匹配问题,使用栈解决即可。 当为’(‘,’[‘,’{‘时,入栈即可,当遇到’)’,’]’,’}’时,当栈不为空则进行出栈操作,判断是否匹配。例如遇到’)’时,栈不为空且出栈的字符为’(‘即表示匹配,否则返回false检查字符是用==,检查String是用.equals(),因为String是...

2016-12-08 21:28:51

阅读数 155

评论数 0

LeetCode 22 :Generate Parentheses

作为经典的回溯问题,这道题对于理解回溯的基本框架帮助还是挺大的。所谓Backtracking都是这样的思路:在当前局面下,你有若干种选择。那么尝试每一种选择。如果已经发现某种选择肯定不行(因为违反了某些限定条件),就返回;如果某种选择试到最后发现是正确解,就将其加入解集所以在思考问题的时候,首先需...

2016-12-07 21:27:53

阅读数 199

评论数 0

LeetCode113:Path Sum II

将当前节点加入到临时存储集中,若满足条件则加入到结果集,否则向下搜索左右子树,在搜索完左右子树后还原(回溯法)1、概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 回溯法是一种选优搜索法,按选优条件向...

2016-12-06 09:42:13

阅读数 259

评论数 0

LeetCode40:Combination Sum II

从集合中取n个数和为target,数字可能有重复,每个数字只能选一次,这道题目需要注意candidates[] 数组中的元素是会有重复的,所以答案里面会出现重复的解,需要在求解过程中对相同的数字不再进行深度搜索即可。 public class Solution { public List&...

2016-12-04 18:16:29

阅读数 184

评论数 0

LeetCode216:Combination Sum III

从1-9中取k个数和为n,且数不重复。首先可能想到的是用一个boolean数组记录用过的数字,Boolean数组的下标+1即为数字。但这题我们发现,选取的数组是递增的,所以无需使用一个数组记录使用过的数字,我们取一个数然后往后枚举即可,当满足条件时,将当前的答案记录到集合中即可。public cl...

2016-12-03 10:43:23

阅读数 203

评论数 0

LeetCode 39:Combination Sum

每一次向下搜索时,起始位置都和上一次相同,因为可以取相同元素不止一次,即每次向下传入的index For循环每次从index开始,避免返回到之前的元素 DFS搜索 如果sum>target 则return 如果sum == target 则记录下来 否则 继续DFS搜索public...

2016-12-01 20:29:14

阅读数 275

评论数 0

LeetCode 46: Permutations

即求n个不重复的数的组合。 思路: 先固定第一位,枚举第二位,。。。第n位,注意需要记录已经用过的数字。用代码说话:public class Solution { public List<List<Integer>> ans = new ArrayList<...

2016-11-29 20:28:38

阅读数 227

评论数 0

LeetCode 300: Longest Increasing Subsequence

最长增加的子序列问题,归于动态规划问题。分析:从最后面的数往前去找。假设串为[10,9,2,5,3,7,101,18],我们从最后一个数18开始找,那么18这个数我们到底需不需要第一步就将它加入到最长子串呢?如果先加入进去的话,我们默认从18开始,那么18就为一个上限了,也就是说,我把这个递增的子...

2016-11-27 16:29:05

阅读数 223

评论数 0

LeetCode-Number of 1 Bits

Write a function that takes an unsigned integer and returns the number of ’1’ bits it has (also known as the Hamming weight). For example, the 32-bi...

2016-10-13 09:02:42

阅读数 220

评论数 0

Leetcode 326 : Power of Three

Given an integer, write a function to determine if it is a power of three.确定这个数是不是3的幂对于确定一个数n是不是k幂而言,有如下方法:只需求得在int允许的最大范围的k为底的最大的数p,如果这个最大的p能被n整除,那么...

2016-10-13 08:49:06

阅读数 235

评论数 0

提示
确定要删除当前文章?
取消 删除