CountAndSay 外观数列 题目介绍 题目解法 题目介绍外观数列给定一个正整数 n ,输出外观数列的第 n 项。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列: countAndSay(1) = "1" countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。 2021-02-18 Leetcode
SudokuSolver 解数独 题目介绍 题目解法 题目介绍解数独编写一个程序,通过填充空格来解决数独问题。 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 空白格用 '.' 表示。 一个数独。 答案被标成红色。 提示: 给定的数独序列只包含数字 1-9 和字符 2021-02-16 Leetcode
ValidSudoku 有效的数独 题目介绍 题目解法 题目介绍有效的数独判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 上图是一个部分填充的有效的数独。 数独部分空格内已填入了数字,空白格用 '.' 表示。 示例 1 2021-02-14 Leetcode
SearchInsertPosition 搜索插入位置 题目介绍 题目解法 题目介绍搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 12输入: [1,3,5,6], 5输出: 2 示例 2: 12输入: [1,3,5,6], 2输出: 1 示例 3: 12输入: [1,3,5,6], 7输出: 4 示例 2021-02-12 Leetcode
FindFirstAndLastPositionOfElementInSortedArray 在排序数组中查找元素的第一个和最后一个位置 题目介绍 题目解法 题目介绍在排序数组中查找元素的第一个和最后一个位置给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 进阶: 你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗? 示例 1: 12输入: 2021-02-10 Leetcode
SearchInRotatedSortedArray 搜索旋转排序数组 题目介绍 题目解法 题目介绍搜索旋转排序数组升序排列的整数数组 nums 在预先未知的某个点上进行了旋转(例如, [0,1,2,4,5,6,7] 经旋转后可能变为 [4,5,6,7,0,1,2] )。 请你在数组中搜索 target ,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 示例 1: 12输入:nums = [4,5,6,7,0,1,2], target 2021-02-07 Leetcode
LongestValidParentheses 最长有效括号 题目介绍 题目解法 题目介绍最长有效括号给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。 示例 1: 123输入:s = "(()"输出:2解释:最长有效括号子串是 "()" 示例 2: 123输入:s = ")()())"输出:4解释:最长有效 2021-02-06 Leetcode
NextPermutation 下一个排列 题目介绍 题目解法 题目介绍下一个排列实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须** 原地 **修改,只允许使用额外常数空间。 示例 1: 12输入:nums = [1,2,3]输出:[1,3,2] 示例 2: 12输入:nums = [3,2,1]输出:[ 2021-02-05 Leetcode
SubstringWithConcatenationOfAllWords 串联所有单词的子串 题目介绍 题目解法 题目介绍串联所有单词的子串给定一个字符串 s 和一些长度相同的单词 words。找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。 注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要考虑 words 中单词串联的顺序。 示例 1: 1234567输入: s = "barfoothefoobarman& 2021-02-02 Leetcode
DivideTwoIntegers 两数相除 题目介绍 题目解法 题目介绍两数相除给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。 返回被除数 dividend 除以除数 divisor 得到的商。 整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8以及truncate(-2.7335) = -2 2021-02-01 Leetcode