leetcode
leetcode的算法题
千寻之森
执天地为罗盘,点星辰为棋子,画日月为黑白,定乾坤为输赢。
展开
-
leetcode-119.杨辉三角Ⅱ
题目:https://leetcode-cn.com/problems/pascals-triangle-ii/答案:根据杨辉三角规律 1 (1+1)^{0} 1 1 (1+1)^{1} 1 2 1 (1+1)^{2}1 3 3 1 (...原创 2020-09-02 09:26:24 · 91 阅读 · 0 评论 -
leetcode-110.平衡二叉树
题目:https://leetcode-cn.com/problems/balanced-binary-tree/答案:递归publicbooleanisBalanced(TreeNoderoot){if(root==null)returntrue;if(Math.abs(maxDepth(root.left)-maxDepth(root.right))>1){returnfalse;}e...原创 2020-09-02 09:26:35 · 94 阅读 · 0 评论 -
leetcode-1144. 递减元素使数组呈锯齿状
题目:给你一个整数数组 nums,每次 操作 会从中选择一个元素并 将该元素的值减少 1。如果符合下列情况之一,则数组 A 就是 锯齿数组: 每个偶数索引对应的元素都大于相邻的元素,即 A[0] > A[1] < A[2] > A[3] < A[4] > ... 或者,每个奇数索引对应的元素都大于相邻的元素,即 A[0] < A[1] > A[2] < A[3] > A[4] < ...返回将数组 nums 转换为...原创 2020-07-09 13:53:59 · 189 阅读 · 0 评论 -
leetcode-面试题 16.04. 井字游戏
题目:设计一个算法,判断玩家是否赢了井字游戏。输入是一个 N x N 的数组棋盘,由字符" ","X"和"O"组成,其中字符" "代表一个空位。以下是井字游戏的规则: 玩家轮流将字符放入空位(" ")中。 第一个玩家总是放字符"O",且第二个玩家总是放字符"X"。 "X"和"O"只允许放置在空位中,不允许对已放有字符的位置进行填充。 当有N个相同(且非空)的字符填充任何行、列或对角线时,游戏结束,对应该字符的玩家获胜。 当所有位置非空时,也算为游戏结束。...原创 2020-07-08 17:09:23 · 608 阅读 · 0 评论 -
leetcode-1343(数组)
classSolution{publicintnumOfSubarrays(int[]arr,intk,intthreshold){intnum=0;intminSum=k*threshold;intsum=0;for(inti=0;i<k;i++){sum+=arr[i];}if(sum>=m...原创 2020-07-08 14:11:52 · 226 阅读 · 0 评论 -
北大OJ1006
人生来就有三个生理周期,分别为体力、感情和智力周期,它们的周期长度为23天、28天和33天。每一个周期中有一天是高峰。在高峰这天,人会在相应的方面表现出色。例如,智力周期的高峰,人会思维敏捷,精力容易高度集中。因为三个周期的周长不同,所以通常三个周期的高峰不会落在同一天。对于每个人,我们想知道何时三个高峰落在同一天。对于每个周期,我们会给出从当前年份的第一天开始,到出现高峰的天数(不一定是第一次高原创 2015-11-20 17:37:19 · 445 阅读 · 0 评论 -
letcode-1051. 高度检查器
题目学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。请你返回能让所有学生以 非递减 高度排列的最小必要移动人数。注意,当一组学生被选中时,他们之间可以以任何可能的方式重新排序,而未被选中的学生应该保持不动。示例:输入:heights = [1,1,4,2,1,3]输出:3解释:当前数组:[1,1,4,2,1,3]目标数组:[1,1,1,2,3,4]在下标 2 处(从 0 开始计数)出现 4 vs 1 ,所以我们必须移动这名学生。在下标 4 处(从 0 开.原创 2020-07-15 15:51:16 · 130 阅读 · 0 评论 -
leetcode-62. 不同路径
题目:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?示例 1:输入: m = 3, n = 2输出: 3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向右 -> 向下2. 向右 -> 向下 -> 向右.原创 2020-07-15 16:30:25 · 84 阅读 · 0 评论 -
leetcode-剑指 Offer 53 - II. 0~n-1中缺失的数字
1、题目一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。示例 1:输入: [0,1,3]输出: 2示例 2:输入: [0,1,2,3,4,5,6,7,9]输出: 8限制:1 <= 数组长度 <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/que-shi-de-s..原创 2020-07-15 16:50:36 · 99 阅读 · 0 评论 -
letcode -657 机器人能否返回原点
题目:https://leetcode-cn.com/problems/merge-intervals/56. 合并区间给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: intervals = [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例2:输入: intervals = [[1,4],[4,5]]输出: [[1..原创 2020-08-28 12:45:33 · 102 阅读 · 0 评论 -
letcode-1两数之和
题目:https://leetcode-cn.com/problems/two-sum/1. 两数之和给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]publi...原创 2020-08-28 13:44:32 · 125 阅读 · 0 评论 -
leetcode-21 合并两个有序链表
题目:https://leetcode-cn.com/problems/merge-two-sorted-lists/submissions/21. 合并两个有序链表将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4答案:publicListNodemergeTwoLists(L...原创 2020-08-28 17:31:18 · 152 阅读 · 0 评论 -
leetcode-7.整数反转
题目:https://leetcode-cn.com/problems/reverse-integer/solution/答案:注意溢出时候要为0public int reverse(int x) { int y = Math.abs(x); long result = 0; int reverse = 0; while (y>0){ result = result*10 + y%10; y=y/10; } result = x>原创 2020-08-29 00:16:53 · 86 阅读 · 0 评论 -
leetcode-13罗马数字
题目:https://leetcode-cn.com/problems/roman-to-integer/答案:classSolution{publicintromanToInt(Strings){if(s==null||s.isEmpty())return0;char[]romans=s.toCharArray();intresult=0;for(inti=0;i<romans....原创 2020-08-31 12:57:21 · 97 阅读 · 0 评论 -
leetcode-2两数相加
题目:https://leetcode-cn.com/problems/add-two-numbers/2. 两数相加给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 ...原创 2020-08-28 17:16:27 · 176 阅读 · 0 评论 -
leetcode-3 无重复字符串的最大子串
题目:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/3. 无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1...原创 2020-08-28 23:42:28 · 117 阅读 · 0 评论 -
leetcode-35 搜索插入位置
题目:https://leetcode-cn.com/problems/search-insert-position/答案:二分查找publicintsearchInsert(int[]nums,inttarget){if(nums==null||nums.length==0){return0;}elseif(nums.length==1){if(target>num...原创 2020-08-31 13:55:30 · 57 阅读 · 0 评论 -
leetcode-有效的括号
题目:https://leetcode-cn.com/problems/valid-parentheses/submissions/答案:利用数据结构栈的特性publicbooleanisValid(Strings){if(s.length()%2==1){returnfalse;}Map<Character,Character>hashMap=newHashMap&...原创 2020-08-31 15:53:59 · 142 阅读 · 0 评论 -
leetcode - 41.缺失的第一个正数
题目:https://leetcode-cn.com/problems/first-missing-positive/答案:暴力法:publicintfirstMissingPositive(int[]nums){intresult=-1;intmax=0;for(inti=0;i<nums.length;i++){if(nums[i]>max)max=nums[i];...原创 2020-08-29 09:52:14 · 108 阅读 · 0 评论 -
leetcode-11.盛最多的水
题目:https://leetcode-cn.com/problems/container-with-most-water/solution/答案:一、暴力法publicintmaxArea(int[]height){intmax=0;for(inti=0;i<height.length;i++){for(intj=i+1;j<height.length;j++){inta...原创 2020-08-29 11:29:09 · 66 阅读 · 0 评论 -
leetcode-28实现strStr()
题目:https://leetcode-cn.com/problems/implement-strstr/答案:publicintstrStr(Stringhaystack,Stringneedle){ return"".equals(needle)?0:haystack.indexOf(needle);}原创 2020-08-29 12:44:45 · 88 阅读 · 0 评论 -
leetcode-841.钥匙和房间
题目:https://leetcode-cn.com/problems/keys-and-rooms/答案:深度搜索:classSolution{intnums;boolean[]isOpens;List<List<Integer>>rooms;publicbooleancanVisitAllRooms(List<List<Integer>>rooms){num...原创 2020-08-31 09:56:26 · 93 阅读 · 0 评论 -
leetcode-198 打家劫舍
题目:https://leetcode-cn.com/problems/house-robber/答案:动态规划classSolution{publicintrob(int[]nums){if(nums==null||nums.length==0)return0;if(nums.length==1)returnnums[0];if(nums.length==2)returnMath.max(nums...原创 2020-08-31 11:43:01 · 85 阅读 · 0 评论 -
leetcode-38.外观数列
题目:https://leetcode-cn.com/problems/count-and-say/答案:publicStringcountAndSay(intn){Stringresult="1";for(inti=2;i<=n;i++){char[]chars=result.toCharArray();result="";intj=0;while...原创 2020-08-31 14:15:18 · 114 阅读 · 0 评论 -
leetcode-14.最长公共前缀
题目:https://leetcode-cn.com/problems/longest-common-prefix/答案:publicStringlongestCommonPrefix(String[]strs){if(strs==null||strs.length==0)return"";if(strs.length==1)returnstrs[0];Arrays.sort(strs,newComparator<...原创 2020-08-31 14:38:31 · 84 阅读 · 0 评论 -
leetcode-58.最后一个单词长度
题目:https://leetcode-cn.com/problems/length-of-last-word/答案:publicintlengthOfLastWord(Strings){s=s.trim();intindex=s.lastIndexOf("");if(index<0){returns.length();}else{r...原创 2020-08-31 17:19:22 · 88 阅读 · 0 评论 -
leetcode-70.爬楼梯
题目:https://leetcode-cn.com/problems/climbing-stairs/submissions/答案:动态规划:f(n) = f(n-1)+f(n-2)publicintclimbStairs(intn){if(n==1)return1;if(n==2)return2;intf1=1,f2=1+1;intresult=0;fo...原创 2020-08-31 17:28:29 · 98 阅读 · 0 评论 -
leetcode-83。删除排序链表中的重复元素
题目:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/答案:publicListNodedeleteDuplicates(ListNodehead){if(head==null||head.next==null)returnhead;ListNodep=head;ListNodeq=head.next;Set<I...原创 2020-09-01 09:45:34 · 85 阅读 · 1 评论 -
leetcode-66.加一
题目:https://leetcode-cn.com/problems/plus-one/答案:publicint[]plusOne(int[]digits){StringBufferresult=newStringBuffer("");intadd=1;for(inti=digits.length-1;i>=0;i--){intnum=(digits[i]+add)%...原创 2020-09-01 09:46:01 · 73 阅读 · 0 评论 -
leetcode-104.二叉树最大深度
题目:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/submissions/答案:二叉树遍历递归publicintmaxDepth(TreeNoderoot){if(root==null){return0;}else{intheightLeft=1+maxDepth(root.left);...原创 2020-09-01 09:46:20 · 89 阅读 · 0 评论 -
leetcode-69.x的平方根
题目:https://leetcode-cn.com/problems/sqrtx/答案:二分查找:publicintmySqrt(intx){if(x==1)return1;intmin=0;intmax=x;while(max-min>1){intm=(max+min)/2;...原创 2020-09-01 11:02:15 · 125 阅读 · 1 评论 -
leetcode-108.将有序数组转换为二叉搜索树
题目:https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree/答案:递归分治:publicTreeNodesortedArrayToBST(int[]nums){returncreateBST(nums,0,nums.length-1);}publicTreeNodecreateBST(int[]nums,intl,in...原创 2020-09-01 14:51:00 · 81 阅读 · 0 评论 -
leetcode-100.相同的树
题目:https://leetcode-cn.com/problems/same-tree/submissions/答案:二叉树:publicbooleanisSameTree(TreeNodep,TreeNodeq){if(p==null){if(q==null)returntrue;elsereturnfalse;}else{if(q==nul...原创 2020-09-01 09:46:13 · 68 阅读 · 0 评论 -
leetcode-67.二进制求和
题目:https://leetcode-cn.com/problems/add-binary/答案:publicStringaddBinary(Stringa,Stringb){char[]aChars=a.toCharArray();char[]bChars=b.toCharArray();inti=a.length()-1;intj=b.length()-1;...原创 2020-09-01 10:49:26 · 68 阅读 · 0 评论 -
leetcode-88.合并两个有序数组
题目:https://leetcode-cn.com/problems/merge-sorted-array/答案:publicvoidmerge(int[]nums1,intm,int[]nums2,intn){if(m==0){for(inti=0;i<n;i++){nums1[i]=nums2[i];}return;...原创 2020-09-01 11:40:12 · 64 阅读 · 0 评论 -
leetcode-4.寻找两个正序数组的中位数
题目:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/答案:1、合并排序数组publicdoublefindMedianSortedArrays(int[]nums1,int[]nums2){int[]nums3=newint[nums1.length+nums2.length];inti=0,j=0,k=0;while(i<nums1...原创 2020-09-02 12:48:40 · 98 阅读 · 0 评论 -
leetcode-101对称二叉树
题目:https://leetcode-cn.com/problems/symmetric-tree答案:递归publicbooleanisSymmetric(TreeNoderoot){if(root==null)returntrue;returnisSy(root.left,root.right);}publicbooleanisSy(TreeNodeleft,TreeNoderight){...原创 2020-09-01 10:03:51 · 117 阅读 · 0 评论 -
leetcode-107.二叉树的层次遍历
题目:https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/答案:递归二叉树List<List<Integer>>lists;publicList<List<Integer>>levelOrderBottom(TreeNoderoot){lists=newArrayList<>();l...原创 2020-09-01 11:53:50 · 78 阅读 · 0 评论 -
leetcode-111.二叉树最小深度
题目:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/答案:二叉树递归:publicintminDepth(TreeNoderoot){if(root==null)return0;if(root.left==null)returnminDepth(root.right)+1;if(root.right==null)returnminDep...原创 2020-09-02 09:26:41 · 91 阅读 · 0 评论 -
leetcode-118.杨辉三角
题目:https://leetcode-cn.com/problems/pascals-triangle/答案:publicList<List<Integer>>generate(intnumRows){List<List<Integer>>lists=newArrayList<>();for(inti=1;i<=numRows;i++){List<Inte...原创 2020-09-02 09:26:53 · 98 阅读 · 0 评论