LeetCode
ALosterN1H
这个作者很懒,什么都没留下…
展开
-
LeetCode之除数博弈
题目:除数博弈思路:我们必须明确的是最终让爱丽丝赢。如果Alice拿到N=1:则输如果Alice拿到N=2:则赢如果Alice拿到N=3:则输,因为X只能取1,Bob就拿到了N=2,而我们知道拿到N=2的人必赢如果Alice拿到N=4:则赢,因为Alice可以选择取X=1,然后Bob的N=3,因为N=3必输如果Alice拿到N=5:则输,因为Alice可以只能取X=1,则Bob的N=4,参考得Bob必赢以此类推,我们好像可以得出只要N是偶数则Alice必赢。证明:当N=偶数时,由于是Alic原创 2020-07-26 10:27:14 · 133 阅读 · 0 评论 -
LeetCode之爬楼梯
题目:爬楼梯思路: 比如 n=10;那么有两种情况:1、 9 + 1 = 102、 8 + 2 = 10说明从第9或者第8个台阶可以直接跨到第10个台阶,所以跨到第10个台阶的方法数 = 跨到第9个台阶的方法数 + 跨到第8个台阶的方法数 …依次类推即可class Solution { int sum = 0; public int climbStairs(int n) { int[] arr = new int[n+1]; arr[0]原创 2020-07-25 11:01:16 · 86 阅读 · 0 评论 -
LeetCode之连续子数组的最大和
题目:连续子数组的最大和/*思路:假设现在遍历到下标为K的数,这时我们需要比较 K数是否比 K之前数的和+K数 大,如果是则说明K之前数的和肯定是负数,那么我们下次就从K下标开始算起 , 如果不是 那么就继续加下去即可需要注意的是,当我们遇到负数的时候,就要停下来计算max的值return max > sum ? max : sum 这句是为了避免忘记计算正数的最大值 */class Solution { public int maxSubArray(int[] nums) {原创 2020-07-17 16:49:32 · 114 阅读 · 0 评论 -
LeetCode之玩筹码
题目:玩筹码思路: 算出在偶数根棍子上的筹码数, 奇数根棍子上的筹码数 ;二者中的最小值就是结果。 因为我们可以通过0代价把所有筹码都移动到两根棍子上,然后把其中一根棍子上筹码较少的筹码通过1代价一个个移动筹码较多的棍子上即可class Solution { public int minCostToMoveChips(int[] chips) { int even = 0; int odd = 0; for (int chip : chips) {原创 2020-07-15 13:55:32 · 131 阅读 · 0 评论 -
LeetCode之最长不含重复字符的子字符串
题目:最长不含重复字符的子字符串思路: 遍历字符串,把字符加入到hashmap中,key存字符,value存下标;如果出现重复的字符,那就求开头下标到此value之间的长度,则下次开头的下标就是重复的字符对应的下标+1;class Solution { public int lengthOfLongestSubstring(String s) { HashMap<Character, Integer> map = new HashMap<>();原创 2020-07-12 13:55:13 · 93 阅读 · 0 评论 -
LeetCode之分数到小数
题目:分数到小数class Solution { public String fractionToDecimal(int numerator, int denominator) { ArrayList<Long> list = new ArrayList<>(); StringBuilder sb = new StringBuilder(); long result = numerator / denominator;原创 2020-07-12 10:42:57 · 168 阅读 · 0 评论 -
LeetCode之出现次数最多的子树元素和
题目:出现次数最多的子树元素和class Solution { HashMap<Integer,Integer> map = new HashMap<>(); public int sum(TreeNode root){ if (root == null) return 0; int leftSum = sum(root.left); int rightSum = sum(root.right原创 2020-07-10 19:41:06 · 99 阅读 · 0 评论 -
LeetCode之数对和
题目:数对和class Solution { public List<List<Integer>> pairSums(int[] nums, int target) { HashMap<Integer, Integer> map = new HashMap<>(); List<List<Integer>> answer = new ArrayList<List<Integer>原创 2020-07-09 13:50:16 · 133 阅读 · 0 评论 -
每天一道LeetCode题之翻转等价二叉树
题目:翻转等价二叉树笨比写法(我写的):class Solution { public boolean flipEquiv(TreeNode root1, TreeNode root2) { int root1Num = 0; int root2Num = 0; if(root1 == null && root2 == null) return true; if (root1 != n原创 2020-07-04 13:15:04 · 105 阅读 · 0 评论 -
每天一道LeetCode题之寻找重复的子树
题目:寻找重复的子树class Solution { Set<TreeNode> set = new HashSet<>(); Map<String,TreeNode> map = new HashMap<>(); public void preTraverse(TreeNode root){ if (root == null) return; examine(root);原创 2020-07-03 11:24:49 · 114 阅读 · 0 评论 -
每天一道LeetCode题之所有可能的满二叉树
题目:所有可能的满二叉树class Solution { public List<TreeNode> allPossibleFBT(int N) { List<TreeNode> list = new ArrayList<>(); //N必须是奇数的,偶数无法构造满二叉树 if (N % 2 == 0){ return list; } //递归跳出条件,只原创 2020-07-02 16:33:12 · 156 阅读 · 0 评论 -
每天一道LeetCode题之祖父节点值为偶数的节点和
题目:祖父节点值为偶数的节点和思路:遍历树的各个结点,如果该结点的值是偶数 那就把这个结点的孙子结点的值统统加起来。 最后返回即可class Solution { int sum ; public int sumEvenGrandparent(TreeNode root) { getSum(root); return sum; } public void getSum(TreeNode root){ if (root ==原创 2020-07-02 10:25:42 · 166 阅读 · 0 评论 -
每天一道LeetCode题之 N叉树的后序遍历
题目:N叉树的后序遍历递归解法:解法和二叉树的递归后序遍历差不多,class Solution { public List<Integer> list = new ArrayList<>(); public List<Integer> postorder(Node root) { if (root == null) return list; for (int i = 0; i < root原创 2020-07-01 11:35:39 · 101 阅读 · 0 评论 -
每天一道LeetCode题之对称二叉树
题目: 对称二叉树我使用的的是非递归解法,所以相对于递归解法来说代码量会比较多且时空性能比较低 --------但是这也是一个思路思路非常简单:我们可以从上到下比较每一层的左半部分结点与右半部分结点是否镜像相同即可,(最左与最右比,次左与次右比较…以此类推)public class Solution { public boolean isSymmetric(TreeNode root) { Queue<TreeNode> queue = new LinkedLis原创 2020-06-30 11:41:48 · 69 阅读 · 0 评论 -
每天一道LeetCode题之二叉搜索树的最近公共祖先
题目:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-zui-jin-gong-gong-zu-xian-lcof/public class Solution { public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { TreeNode froot = root; TreeNode sroot = root原创 2020-06-29 18:37:33 · 88 阅读 · 0 评论