![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法题
文章平均质量分 50
続
这个作者很懒,什么都没留下…
展开
-
【LeetCode】#30与所有单词相关联的字串(Substring with Concatenation of All Words)
【LeetCode】#30与所有单词相关联的字串(Substring with Concatenation of All Words)题目描述给定一个字符串 s 和一些长度相同的单词 words。在 s 中找出可以恰好串联 words 中所有单词的子串的起始位置。注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要考虑 words 中单词串联的顺序。示例示例 1:输...原创 2018-12-04 11:21:28 · 124 阅读 · 0 评论 -
【LeetCode】#31下一个排列(Next Permutation)
【LeetCode】#31下一个排列(Next Permutation)题目描述实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。示例以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,3...转载 2018-12-04 11:36:40 · 73 阅读 · 0 评论 -
【LeetCode】#18四数之和(4Sum)
【LeetCode】#18四数之和(4Sum)题目描述给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例给定数组 nums = [1, 0, -1, 0, -2, 2],和 ...原创 2018-12-02 15:16:06 · 117 阅读 · 0 评论 -
【LeetCode】#1两数之和(Two Sum)
【LeetCode】#1两数相加(Two Sum)题目描述给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的两个整数。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。Given an array of integers, return indices of the two numbers such that they add up...原创 2018-11-29 20:40:16 · 71 阅读 · 0 评论 -
【LeetCode】#2两数相加(Add Two Numbers)
【LeetCode】#2两数相加(Add Two Numbers)题目描述给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。You are given two non-empty l...原创 2018-11-29 20:52:44 · 110 阅读 · 0 评论 -
【LeetCode】#3无重复字符的最长子串(Longest Substring Without Repeating Characters)
【LeetCode】#3无重复字符的最长子串(Longest Substring Without Repeating Characters)题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。Given a string, find the length of the longest substring without repeating characters.示例示...原创 2018-11-29 21:03:29 · 90 阅读 · 0 评论 -
【LeetCode】#4寻找两个有序数组的中位数(Median of Two Sorted Arrays)
【LeetCode】#4寻找两个有序数组的中位数(Median of Two Sorted Arrays)题目描述给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。There are two sorted arrays nums1...原创 2018-11-29 23:21:05 · 157 阅读 · 0 评论 -
【LeetCode】#19删除链表的倒数第N个节点(Remove Nth Node From End of List)
【LeetCode】#19删除链表的倒数第N个节点(Remove Nth Node From End of List)题目描述给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.DescriptionGiv...原创 2018-12-02 17:06:01 · 84 阅读 · 0 评论 -
【LeetCode】#20有效的括号(Valid Parentheses)
【LeetCode】#20有效的括号(Valid Parentheses)题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:1.左括号必须用相同类型的右括号闭合。2.左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例示例 1:输入: “()”输出: true示例 2:输入: “()[]{}...原创 2018-12-02 17:08:39 · 92 阅读 · 0 评论 -
【LeetCode】#21合并两个有序链表(Merge Two Sorted Lists)
【LeetCode】#21合并两个有序链表(Merge Two Sorted Lists)、题目描述将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例输入:1->2->4, 1->3->4输出:1->1->2->3->4->4DescriptionMerge two sorted li...原创 2018-12-02 17:10:31 · 64 阅读 · 0 评论 -
【LeetCode】#22括号生成(Generate Parentheses)
【LeetCode】#22括号生成(Generate Parentheses)题目描述给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。示例例如,给出 n = 3,生成结果为:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]DescriptionGiven n pairs of paren...转载 2018-12-02 17:22:28 · 93 阅读 · 0 评论 -
【LeetCode】#32最长有效括号(Longest Valid Parentheses)
【LeetCode】#32最长有效括号(Longest Valid Parentheses)题目描述给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例示例 1:输入: “(()”输出: 2解释: 最长有效括号子串为 “()”示例 2:输入: “)()())”输出: 4解释: 最长有效括号子串为 “()()”DescriptionGive...转载 2018-12-04 20:51:55 · 114 阅读 · 0 评论 -
【LeetCode】#33搜索旋转排序数组(Search in Rotated Sorted Array)
【LeetCode】#33搜索旋转排序数组(Search in Rotated Sorted Array)题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时...原创 2018-12-04 21:11:35 · 106 阅读 · 0 评论 -
【LeetCode】#34在排序数组中查找元素的第一个和最后一个位置(Find First and Last Position of Element in Sorted Array)
【LeetCode】#34在排序数组中查找元素的第一个和最后一个位置(Find First and Last Position of Element in Sorted Array)题目描述给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1,...原创 2018-12-04 21:55:26 · 359 阅读 · 0 评论 -
【LeetCode】#35搜索插入位置(Search Insert Position)
【LeetCode】#35搜索插入位置(Search Insert Position)题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3...原创 2018-12-04 22:02:18 · 64 阅读 · 0 评论 -
【LeetCode】#36有效的数独(Valid Sudoku)
【LeetCode】#36有效的数独(Valid Sudoku)题目描述判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。1.数字 1-9 在每一行只能出现一次。2.数字 1-9 在每一列只能出现一次。3.数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。示例输入:[[“5”,“3”,".",".",“7”,".",".","."...转载 2018-12-04 22:37:20 · 59 阅读 · 0 评论 -
【LeetCode】#5最长回文子串(Longest Palindromic Substring)
【LeetCode】#5最长回文子串(Longest Palindromic Substring)题目描述给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。Given a string s, find the longest palindromic substring in s. You may assume that the maximum lengt...原创 2018-11-30 16:21:19 · 76 阅读 · 0 评论 -
【LeetCode】#6Z字形变换(ZigZag Conversion)
【LeetCode】#6Z字形变换(ZigZag Conversion)题目描述将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新...原创 2018-11-30 16:56:25 · 121 阅读 · 0 评论 -
【LeetCode】#7整数反转(Reverse Integer)
【LeetCode】#7整数反转(Reverse Integer)题目描述给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。Given a 32-bit signed integer, reverse digits of an integer.示例示例1:输入: 123输出: 321Input: 123Output: 321示例2:输入: -123输出...原创 2018-11-30 17:14:51 · 70 阅读 · 0 评论 -
【LeetCode】#8字符串转换整数(String to Integer)
【LeetCode】#8字符串转换整数(String to Integer)题目描述请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合...原创 2018-11-30 22:31:46 · 65 阅读 · 0 评论 -
【LeetCode】#9回文数(Palindrome Number)
【LeetCode】#9回文数(Palindrome Number)题目描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward...原创 2018-11-30 23:18:01 · 77 阅读 · 0 评论 -
【LeetCode】#10正则表达式匹配(Regular Expression Matching)
【LeetCode】#10正则表达式匹配(Regular Expression Matching)题目描述给定一个字符串 (s) 和一个字符模式 §。实现支持 ‘.’ 和 ‘’ 的正则表达式匹配。‘.’ 匹配任意单个字符。'’ 匹配零个或多个前面的元素。匹配应该覆盖整个字符串 (s) ,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 ...原创 2018-12-01 09:24:51 · 132 阅读 · 0 评论 -
【LeetCode】#11装最多水的容器(Container With Most Water)
【LeetCode】#11装最多水的容器(Container With Most Water)题目描述给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。...原创 2018-12-01 09:37:08 · 147 阅读 · 0 评论 -
【LeetCode】#12整数转罗马数字(Integer to Roman)
【LeetCode】#12整数转罗马数字(Integer to Roman)题目描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M ...原创 2018-12-01 11:00:07 · 71 阅读 · 0 评论 -
【LeetCode】#13罗马数字转整数(Roman to Integer)
【LeetCode】#13罗马数字转整数(Roman to Integer)题目描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M ...原创 2018-12-01 17:38:05 · 221 阅读 · 0 评论 -
【LeetCode】#14最长公共前缀(Longest Common Prefix)
【LeetCode】#14最长公共前缀(Longest Common Prefix)题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。De...原创 2018-12-01 17:41:51 · 206 阅读 · 0 评论 -
【LeetCode】#23合并K个排序链表(Merge k Sorted Lists)
【LeetCode】#23合并K个排序链表(Merge k Sorted Lists)题目描述合并 k 个排序链表,返回合并后的排序链表。示例输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6DescriptionMerge k sorted link...原创 2018-12-03 09:26:39 · 123 阅读 · 1 评论 -
【LeetCode】#24两两交换链表中的节点(Swap Nodes in Pairs)
【LeetCode】#24两两交换链表中的节点(Swap Nodes in Pairs)题目描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例给定 1->2->3->4, 你应该返回 2->1->4->3.DescriptionGiven a linked list, swap every two adjacent nodes and...原创 2018-12-03 09:40:10 · 122 阅读 · 0 评论 -
【LeetCode】#15三数之和(3Sum)
【LeetCode】#15三数之和(3Sum)题目描述给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[...转载 2018-12-01 20:20:29 · 76 阅读 · 0 评论 -
【LeetCode】#16最接近的三数之和(3Sum Closest)
【LeetCode】#16最接近的三数之和(3Sum Closest)题目描述给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 ...转载 2018-12-01 20:41:06 · 107 阅读 · 0 评论 -
【LeetCode】#17电话号码的组合(Letter Combinations of a Phone Number)
【LeetCode】#17电话号码的组合(Letter Combinations of a Phone Number)题目描述给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “c...转载 2018-12-01 22:21:08 · 82 阅读 · 0 评论 -
【LeetCode】#37解数独(Sudoku Solver)
【LeetCode】#37解数独(Sudoku Solver)题目描述编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则:1.数字 1-9 在每一行只能出现一次。2.数字 1-9 在每一列只能出现一次。3.数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。4.空白格用 ‘.’ 表示。DescriptionWrite a program to ...转载 2018-12-05 10:50:47 · 78 阅读 · 0 评论 -
【LeetCode】#38报数(Count and Say)
【LeetCode】#38报数(Count and Say)题目描述报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。示例111211211111221DescriptionThe count-and-say sequence is the sequence of integers.Example111...原创 2018-12-05 11:26:37 · 69 阅读 · 0 评论 -
【LeetCode】#61旋转链表(Rotate List)
【LeetCode】#61旋转链表(Rotate List)题目描述给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2-&...原创 2018-12-07 17:02:14 · 83 阅读 · 0 评论 -
【LeetCode】#62不同路径(Unique Paths)
【LeetCode】#62不同路径(Unique Paths)题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?说明:m 和 n 的值均不超过 100。示例示例 1:输入: m = 3, n = 2输出: 3解...原创 2018-12-07 17:23:17 · 92 阅读 · 0 评论 -
【LeetCode】#63不同路径II(Unique Paths II)
【LeetCode】#63不同路径II(Unique Paths II)题目描述现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。示例输入:[[0,0,0],[0,1,0],[0,0,0]]输出: 2解释:3x3 网格的正中间有一个障碍物。从左上角到右下角一共有...原创 2018-12-07 18:04:52 · 114 阅读 · 0 评论 -
【LeetCode】#64最小路径和(Minimum Path Sum)
【LeetCode】#64最小路径和(Minimum Path Sum)题目描述给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。DescriptionGiven...原创 2018-12-08 09:46:53 · 109 阅读 · 0 评论 -
【LeetCode】#39组合总和(Combination Sum)
【LeetCode】#39组合总和(Combination Sum)加粗样式给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例示例 1:输入: candi...转载 2018-12-05 16:29:37 · 107 阅读 · 0 评论 -
【LeetCode】#65有效数字(Valid Number)
【LeetCode】#65有效数字(Valid Number)题目描述验证给定的字符串是否为数字。说明: 我们有意将问题陈述地比较模糊。在实现代码之前,你应当事先思考所有可能的情况。示例“0” => true" 0.1 " => true“abc” => false“1 a” => false“2e10” => trueDescriptionVa...原创 2018-12-08 17:27:45 · 100 阅读 · 0 评论 -
【LeetCode】#66加一(Plus One)
【LeetCode】#66加一(Plus One)题目描述给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4...原创 2018-12-08 17:36:47 · 88 阅读 · 0 评论