你好,leetcode
江城的程序员大叔
这个作者很懒,什么都没留下…
展开
-
leetcode 417. 太平洋大西洋水流问题
https://leetcode-cn.com/problems/pacific-atlantic-water-flow/思路是从海洋开始逆流 如果可以逆流到 就标记为1 然后检查两个海洋都可以逆流到的区域DFSpublic List<List<Integer>> pacificAtlantic(int[][] matrix) { if (matrix.length == 0 || matrix[0].length == 0) {原创 2020-07-31 09:45:05 · 323 阅读 · 0 评论 -
LeetCode分类整理及解题记录
Github项目地址:https://github.com/zhangtiansimple/Leetcode如果有那么一点点帮助到了小伙伴,还请给予个小小的star鼓励~原创 2019-10-24 22:40:08 · 946 阅读 · 0 评论 -
Leetcode 931.下降路径最小和Java&Python
给定一个方形整数数组 A,我们想要得到通过 A 的下降路径的最小和。下降路径可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列。 示例:输入:[[1,2,3],[4,5,6],[7,8,9]]输出:12解释:可能的下降路径有:[1,4,7], [1,4,8], [1,5,7], [1,5,8], [1,5,9] [...原创 2018-12-11 17:42:43 · 464 阅读 · 0 评论 -
Leetcode 962. 最大宽度坡 java&python
给定一个整数数组 A,坡是元组 (i, j),其中 i < j 且 A[i] <= A[j]。这样的坡的宽度为 j - i。找出 A 中的坡的最大宽度,如果不存在,返回 0 。 示例 1:输入:[6,0,8,2,1,5]输出:4解释:最大宽度的坡为 (i, j) = (1, 5): A[1] = 0 且 A[5] = 5.示例 2:输入:[9,8,...原创 2018-12-24 09:17:58 · 688 阅读 · 0 评论 -
Leetcode 472 连接词
给定一个不含重复单词的列表,编写一个程序,返回给定单词列表中所有的连接词。连接词的定义为:一个字符串完全是由至少两个给定数组中的单词组成的。示例:输入: ["cat","cats","catsdogcats","dog","dogcatsdog","hippopotamuses","rat","ratcatdogcat"]输出: [原创 2019-01-11 15:23:23 · 805 阅读 · 0 评论 -
Lintcode 1667.石头
题目大意:一条直线上有n个石头,一个人从左往右走,碰到奇数块石头(碰到一块石头数一个数,这里指数的数是奇数),就往右扔,碰到偶数的石头就不管他,如果两块石头在同一个位置,就扔大的那块(能扔的距离小的)。问最后最远的那块石头的位置。思路:用优先队列模拟,每遇到奇数石头,就将其坐标加上D[i],放回优先队列,当石头重叠时,先扔投大的(能扔的距离小的),故在比较函数中,以位置为第一关键字,以投掷距离...原创 2019-01-24 17:43:44 · 578 阅读 · 0 评论 -
Lintcode 1538. 卡牌游戏 II
1538. 卡牌游戏 II你跟你的朋友在玩一个卡牌游戏,总共有 n 张牌。每张牌的成本为 cost[i] 并且可以对对手造成 damage[i] 的伤害。你总共有 totalMoney 元并且需要造成至少 totalDamage 的伤害才能获胜。每张牌只能使用一次,判断你是否可以取得胜利。样例input:cost = [1,2,3,4,5]damage = [1,2,3,4...原创 2019-01-24 18:07:49 · 654 阅读 · 0 评论 -
lintcode 1692. 组队打怪
你现在有n个英雄,每个英雄的战斗力为atk1,你要用这些英雄去对付n个怪物,每个怪物的战斗力为atk2。在一场战斗中,你需要安排每个英雄分别与一个怪兽战斗,如果英雄战斗力高于怪兽,那个怪兽就会被击杀,问最多能击杀几个怪兽?给定atk1=[6,4,8,5,1],atk=[2,3,4,5,6],返回4解释:* 6>4* 4>2* 8>6* 5>3* 1&...原创 2019-01-25 09:43:46 · 558 阅读 · 0 评论 -
Lintcode 1666 组合+判断素数
题目大致意思是给出给出一个数组,在数组中选择k个数,和是素数的情况有多少。private List<List<Integer>> res; public int getWays(int[] a, int k) { // Write your code here res = new ArrayList<List<In...原创 2019-01-16 17:08:02 · 596 阅读 · 0 评论 -
Lintcode 1753. 写作业
n个人,他们每个人需要独立做m份作业。 第i份作业需要花费cost[i]的时间。由于每个人的空闲时间不同,第i个人有val[i]的时间,这代表他做作业的总时间不会超过val[i]。每个人都按照顺序,从1号作业开始,然后做2号,3号...... 现在,你需要计算出他们最多花了多少的时间。样例给定cost=[1,2,3,5],val=[6,10,4],返回15。第一个人可以完成1号作业,2号作业...原创 2019-01-16 18:04:48 · 609 阅读 · 0 评论 -
Leetcode 443. 压缩字符串 Java
给定一组字符,使用原地算法将其压缩。压缩后的长度必须始终小于或等于原数组长度。数组的每个元素应该是长度为1 的字符(不是 int 整数类型)。在完成原地修改输入数组后,返回数组的新长度。 进阶:你能否仅使用O(1) 空间解决问题?示例 1:输入:["a","a","b","b","c","c","c"]输出:返回6,输入数组的前6原创 2019-02-12 15:12:36 · 724 阅读 · 0 评论 -
Leetcode 72. 编辑距离 Java&Python
给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符 删除一个字符 替换一个字符示例 1:输入: word1 = "horse", word2 = "ros"输出: 3解释: horse -> rorse (将 'h' 替换为 'r')rorse -> ros...原创 2018-12-27 17:54:44 · 447 阅读 · 1 评论 -
Leetcode 2. 两数相加 Java&Python
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -...原创 2018-12-27 17:33:50 · 139 阅读 · 0 评论 -
Leetcode 70. 爬楼梯 Java
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. ...原创 2018-09-20 18:59:38 · 1145 阅读 · 0 评论 -
Leetcode 64. 最小路径和 Java
给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。这道题的总体解决思路,还是和70号问题爬楼梯一样,题目相比于70号问题,稍难一些,但是思路还...原创 2018-09-20 19:17:23 · 828 阅读 · 0 评论 -
Leetcode 15. 三数之和 Java & Python
给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]这道题的思路和两数...原创 2018-10-11 18:55:49 · 280 阅读 · 0 评论 -
LeetCode 771. 宝石与石头 Java&Python
给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = "aA", S = "aAAbbbb"输出: 3示例 2:输入: J = "z", S = ".原创 2018-10-08 10:18:35 · 585 阅读 · 0 评论 -
LeetCode 905. 按奇偶校验排序数组 Java&Python
给定一个非负整数数组 A,返回一个由 A 的所有偶数元素组成的数组,后面跟 A 的所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。提示:1 <= A.length <= 5000 0 <= A[i] <=...原创 2018-10-08 11:00:37 · 497 阅读 · 0 评论 -
Leetcode 669 修剪二叉搜索树 Java&Python
给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。示例 1:输入: 1 / \ 0 2 L = 1 R = 2输出: 1 \ 2示例 2:输入: ...原创 2018-10-18 18:48:31 · 516 阅读 · 0 评论 -
Leetcode 167. 两数之和 II - 输入有序数组 Java&Python
给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15],...原创 2018-10-09 15:21:31 · 484 阅读 · 0 评论 -
Leetcode 345. 反转字符串中的元音字母 Java&Python
编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 1:输入: "hello"输出: "holle"示例 2:输入: "leetcode"输出: "leotcede"说明:元音字母不包含字母"y"。这道题目的解题思路与167号问题两数之和一致,这里只分享一下Java和Python的代码实现Javapublic String reverseV...原创 2018-10-09 16:05:13 · 544 阅读 · 0 评论 -
Leetcode 653.两数之和IV Java&Python
给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。案例 1:输入: 5 / \ 3 6 / \ \2 4 7Target = 9输出: True 案例 2:输入: 5 / \ 3 6 / \ \2 4 7Target = ...原创 2018-10-19 10:49:55 · 278 阅读 · 0 评论 -
Leetcode 938.二叉搜索树的范围和Java&Python
给定二叉搜索树的根结点 root,返回 L 和 R(含)之间的所有结点的值的和。二叉搜索树保证具有唯一的值。 示例 1:输入:root = [10,5,15,3,7,null,18], L = 7, R = 15输出:32示例 2:输入:root = [10,5,15,3,7,13,18,1,null,6], L = 6, R = 10输出:23 提示:...原创 2018-11-21 17:40:20 · 708 阅读 · 0 评论