
LeetCode
随_0204
这个作者很懒,什么都没留下…
展开
-
LetCode_Q1_两数之和
1. 两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]C...原创 2019-04-20 21:47:34 · 199 阅读 · 0 评论 -
LeetCode_Q567_字符串的排列
567. 字符串的排列给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。示例1:输入: s1 = “ab” s2 = “eidbaooo”输出: True解释: s2 包含 s1 的排列之一 (“ba”).示例2:输入: s1= “ab” s2 = “eidboaoo”输出: False...原创 2019-04-29 23:18:31 · 1563 阅读 · 0 评论 -
LeetCode_Q3_无重复字符的最长子串
3. 无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为...原创 2019-04-25 13:37:56 · 157 阅读 · 0 评论 -
LeetCode_Q321_字符串相乘
321. 字符串相乘package test;public class Test { public static void main(String[] args) { Solution s = new Solution(); System.out.println(s.multiply("123", "456")); } static class Solution { pu...原创 2019-04-30 15:11:31 · 153 阅读 · 0 评论 -
LeetCode_Q71_简化路径
71. 简化路径以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名...原创 2019-04-30 16:58:32 · 137 阅读 · 0 评论 -
LeetCode_Q39_ 组合总和
39. 组合总和给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [2,3,6,7], target = 7,所求...原创 2019-07-18 20:06:15 · 148 阅读 · 0 评论 -
LeetCode_Q46_全排列
46. 全排列给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]Code(Java) class Solution { private List<List<Integer>> lists = new Arr...原创 2019-07-18 20:06:09 · 408 阅读 · 0 评论 -
LeetCode_Q448_找到所有数组中消失的数字
448. 找到所有数组中消失的数字给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。示例:输入:[4,3,2,7,8,2,3,1]输出:[...原创 2019-05-09 23:17:47 · 147 阅读 · 0 评论 -
LeetCode_Q67_ 二进制求和
67. 二进制求和给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”Code(Java) class Solution { public String addBinar...原创 2019-05-07 21:09:30 · 116 阅读 · 0 评论 -
LeetCode_Q20_有效的括号
20. 有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false...原创 2019-07-18 20:06:22 · 139 阅读 · 0 评论 -
LeetCode_Q38_报数
38. 报数报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1 --> 12 --> 113 --> 214 --> 12115 --> 1112211 被读作 “one 1” (“一个一”) , 即 11。11 被读作 “two 1s” (“两个一”), 即 21。21 被读作 “on...原创 2019-07-18 20:06:04 · 163 阅读 · 0 评论 -
LeetCode_Q198_打家劫舍
198. 打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1...原创 2019-07-18 20:05:59 · 178 阅读 · 0 评论 -
LeetCode_Q160_交叉链表
160. 交叉链表编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节...原创 2019-07-18 20:05:52 · 368 阅读 · 0 评论 -
LeetCode_Q189_旋转数组
189. 旋转数组给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-...原创 2019-07-18 20:05:01 · 183 阅读 · 0 评论 -
LeetCode_Q120_三角形最小路径和
120. 三角形最小路径和给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。说明:如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。Code(Java)使用二维数组:static class Solution ...原创 2019-07-18 20:06:45 · 139 阅读 · 0 评论 -
LeetCode_Q221_最大正方形
221. 最大正方形在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4解题思路动态规划,新建一个二维数组,数组元素 a[i][j]a[i][j]a[i][j] 是 以 a[i][j]a[i][j]a[i][j] 为右下角的最大正方形边数。那...原创 2019-05-05 10:58:20 · 131 阅读 · 0 评论 -
LeetCode_Q121_买卖股票的最佳时机
121. 买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6...原创 2019-07-18 20:06:38 · 168 阅读 · 0 评论 -
LeetCode_Q224_基本计算器
224. 基本计算器实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式可以包含左括号 ( ,右括号 ),加号 + ,减号 -,非负整数和空格 。示例 1:输入: “1 + 1”输出: 2示例 2:输入: " 2-1 + 2 "输出: 3示例 3:输入: “(1+(4+5+2)-3)+(6+8)”输出: 23说明:你可以假设所给定的表达式都是...原创 2019-04-20 21:54:50 · 292 阅读 · 0 评论 -
LeetCode_Q8_字符串转化整数
8. 字符串转化整数请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的...原创 2019-04-20 22:13:09 · 132 阅读 · 0 评论 -
LeetCode_Q93_复原IP地址
93.复原IP地址给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。示例1:输入: “25525511135”输出: [“255.255.11.135”, “255.255.111.35”]示例2:输入: “010010”输出: [“0.10.0.10”, “0.100.1.0”]解题思路Java暴力,3层循环 333*3,如例2,应排除有前置0的情况,...原创 2019-04-26 11:57:00 · 119 阅读 · 0 评论 -
LeetCode_Q343_整数拆分
343. 整数拆分给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。说明: 你可以假设 n 不小于 2 且不大于 58。解题思路...原创 2019-04-22 23:21:42 · 183 阅读 · 0 评论 -
LeetCode_Q53_最大子序和
53. 最大子序和给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。阶梯思路方法1:动态规划设数组为 a[k]a...原创 2019-05-02 13:06:35 · 160 阅读 · 0 评论 -
LeetCode_Q122_买卖股票的最佳时机 II
122. 买卖股票的最佳时机 II给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。**注意:**你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(...原创 2019-05-02 21:53:50 · 123 阅读 · 0 评论 -
LeetCode目录
LeetCode目录1. 两数之和1. 两数之和Eclipse: /LeetCode/src/_18_month10/Q1_两数之和.java优快云: https://blog.youkuaiyun.com/qq_39541319/article/details/89424079原创 2019-07-18 20:04:44 · 146 阅读 · 0 评论 -
LeetCode_Q2_两数相加
2. 两数相加给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 ->...原创 2019-05-04 21:20:37 · 149 阅读 · 0 评论 -
LeetCode_Q926_将字符串翻转到单调递增
LeetCode_Q926_将字符串翻转到单调递增解题思路Code(java)如果一个由 ‘0’ 和 ‘1’ 组成的字符串,是以一些 ‘0’(可能没有 ‘0’)后面跟着一些 ‘1’(也可能没有 ‘1’)的形式组成的,那么该字符串是单调递增的。我们给出一个由字符 ‘0’ 和 ‘1’ 组成的字符串 S,我们可以将任何 ‘0’ 翻转为 ‘1’ 或者将 ‘1’ 翻转为 ‘0’。返回使 S 单调递增的...原创 2019-04-24 17:06:57 · 180 阅读 · 0 评论 -
LeetCode_Q445_两数相加 II
445. 两数相加 II给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。进阶:如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。示例:输入: (7 -> 2 -> 4 -> 3) + (5 -> 6 -&g...原创 2019-05-04 22:34:39 · 134 阅读 · 0 评论 -
LeetCode_Q22_括号生成
22.括号生成给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:["((()))","(()())","(())()","()(())","()()()&a...原创 2019-07-18 20:04:54 · 137 阅读 · 0 评论