给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 示例 1: 示例 2: 提示: 解题: 官方解答: 1.模拟 2.位运算
Month: January 2023
LeetCode 66 加一
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 示例 2: 示例 3: 提示: 解题: 官方解答: 1.找出最长的后缀9
LeetCode 65 有效数字
有效数字(按顺序)可以分成以下几个部分: 小数(按顺序)可以分成以下几个部分: 整数(按顺序)可以分成以下几个部分: 部分有效数字列举如下:[“2”, “0089”, “-0.1”, “+3.14”, “4.”, “-.9”, “2e10”, “-90E3”, “3e+7”, “+6e-1”, “53.5e93”, “-123.456e789”] 部分无效数字列举如下:[“abc”, “1a”, “1e”, “e3”, “99e2.5”, “–6”, “-+3”, “95a54e53”] 给你一个字符串 s ,如果 s 是一个 有效数字 ,请返回 true 。 示例 1: 示例 2: 示例 3: 提示: 解题: 正则匹配效率是真的差 官方解答: 1.确定有限状态自动机
LeetCode 64 最小路径和
给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例 1: 示例 2: 提示: 解题: 官方解答: 1.动态规划
LeetCode 63 不同路径II
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别用 1 和 0 来表示。 示例 1: 示例 2: 提示: 解题: 官方解答: 1.动态规划
LeetCode 62 不同路径
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例 1: 示例 2: 示例 3: 示例 4: 输入:m = 3, n = 3输出:6 提示: 解题: 官方解答: 1.动态规划 2.组合数学
LeetCode 61 旋转链表
LeetCode 60 排列序列
给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。 按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下: 给定 n 和 k,返回第 k 个排列。 示例 1: 示例 2: 示例 3: 提示: 解题: 超时了就很郁闷 官方解答: 1.数学+缩小问题规模
LeetCode 59 螺旋矩阵II
给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 示例 2: 提示: 解题: 官方解答: 1.模拟 2.按层模拟
LeetCode 58 最后一个单词的长度
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 示例 2: 示例 3: 提示: 解题: 官方解答: 1.反向遍历