
leetcode
leetcode刷题笔记
fa1c4
软件安全研究生, 不定期灌水博主(
展开
-
leetcode - 63. 不同路径 II
题目题目链接一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。示例 1:输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]输出:2解释:3x3 网格的正中间有一个障碍物。从左上角到右下角一共有 2 条原创 2022-01-08 18:39:43 · 120 阅读 · 0 评论 -
leetcode - 括号生成
题目数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]提示:1 <= n <= 8思想动规问题, 关键在于写出递推式动规一般从dp[n]往回考虑, 假设已经获得dp[1…n-1], 即括号对数1到n-1的组合集, 那可以这样生成dp[n]的组合集, 固定最左边的左原创 2022-01-08 18:38:55 · 418 阅读 · 0 评论 -
leetcode - 478. 在圆内随机生成点
题目给定圆的半径和圆心的 x、y 坐标,写一个在圆中产生均匀随机点的函数 randPoint 。说明:输入值和输出值都将是浮点数。圆的半径和圆心的 x、y 坐标将作为参数传递给类的构造函数。圆周上的点也认为是在圆中。randPoint 返回一个包含随机点的x坐标和y坐标的大小为2的数组。示例 1:输入:[“Solution”,“randPoint”,“randPoint”,“randPoint”][[1,0,0],[],[],[]]输出: [null,[-0.72939,-0.6550原创 2021-11-16 15:54:34 · 205 阅读 · 0 评论 -
leetcode - 最高广告牌
题目你正在安装一个广告牌,并希望它高度最大。这块广告牌将有两个钢制支架,两边各一个。每个钢支架的高度必须相等。你有一堆可以焊接在一起的钢筋 rods。举个例子,如果钢筋的长度为 1、2 和 3,则可以将它们焊接在一起形成长度为 6 的支架。返回广告牌的最大可能安装高度。如果没法安装广告牌,请返回 0。示例 1:输入:[1,2,3,6]输出:6解释:我们有两个不相交的子集 {1,2,3} 和 {6},它们具有相同的和 sum = 6。示例 2:输入:[1,2,3,4,5,6]输出:10解原创 2021-06-25 15:29:10 · 231 阅读 · 0 评论 -
leetcode - 最长单词
题目给定一组单词words,编写一个程序,找出其中的最长单词,且该单词由这组单词中的其他单词组合而成。若有多个长度相同的结果,返回其中字典序最小的一项,若没有符合要求的单词则返回空字符串。示例:输入: [“cat”,“banana”,“dog”,“nana”,“walk”,“walker”,“dogwalker”]输出: “dogwalker”解释: "dogwalker"可由"dog"和"walker"组成。提示:0 <= len(words) <= 2001 <= le原创 2021-06-25 15:28:52 · 429 阅读 · 0 评论 -
leetcode-数字 1 的个数
题目给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。示例 1:输入:n = 13输出:6示例 2:输入:n = 0输出:0提示:0 <= n <= 2 * 10910^9109思路找规律, 比如分别讨论比如百位的数字是0, 1, 大于等于2的情况.这样思考:当百位是0时, 为了递增到数字n, 会经过1这个状态m次, m是n / 100的商, 比如13000, 从0到13000, 百位会变成1, 13次.100, 1100, 2100, …,原创 2021-04-06 20:18:07 · 393 阅读 · 1 评论 -
leetcode-最短回文串
题目给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。示例 1:输入:s = “aacecaaa”输出:“aaacecaaa”示例 2:输入:s = “abcd”输出:“dcbabcd”提示:0 <= s.length <= 5 * 104s 仅由小写英文字母组成思路很直接, 就是从后往前依次递增取 i 个字符, 拼接到字符串开始, 当满足回文串时这时的 i 就是answer.这里有一个代码技巧, 只比对逆串的原创 2021-04-05 22:47:50 · 421 阅读 · 0 评论 -
leetcode-最长有效括号
题目给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。示例 1:输入:s = “(()”输出:2解释:最长有效括号子串是 “()”示例 2:输入:s = “)()())”输出:4解释:最长有效括号子串是 “()()”示例 3:输入:s = “”输出:0提示:0 <= s.length <= 3 * 104s[i] 为 ‘(’ 或 ‘)’思路栈模拟执行一遍, 设定一个bool数组(或者整型), 不能匹配的位置设为false原创 2021-03-28 17:45:18 · 166 阅读 · 0 评论