- 博客(38)
- 收藏
- 关注
原创 javascript 字母异位词分组LeetCod-49
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所...
2019-11-08 10:51:14
777
原创 十大经典排序算法
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括:名词解释:n:数据规模 k:"桶"的个数 In-place:占用常数内存,不占用额外内存 Out-place:...
2019-05-23 22:51:53
215
原创 javascript 全排列 IILeetCod-47
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]]var permuteUnique = function(nums) { var item=[],path=[]; nums=nums....
2018-10-24 11:25:35
293
原创 javascript 全排列LeetCod-46
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]var permute = function(nums) { var item=[...
2018-10-24 11:22:30
311
原创 javascript 字符串相乘LeetCod-43
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"
2018-10-24 11:19:17
747
1
原创 javascript 组合总和 IILeetCod-40
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。 示例 1:输入: candidates =...
2018-10-24 11:09:36
412
原创 javascript 组合总和LeetCod-39
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。 示例 1:输入: candida...
2018-10-24 11:05:38
437
1
原创 javascript 报数LeetCod-38
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1. 12. 113. 214. 12115. 1112211 被读作 "one 1" ("一个一") , 即 11。11 被读作 "two 1s" ("两个一"), 即 21。21 被读...
2018-10-24 10:59:53
195
原创 javascript解数独LeetCod-37
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则:数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。空白格用 '.' 表示。一个数独。答案被标成红色。Note:给定的数独序列只包含数字 1-...
2018-10-24 10:56:11
285
原创 javascript 搜索插入位置LeetCod-35
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出:...
2018-10-24 10:42:15
292
原创 javascript 在排序数组中查找元素的第一个和最后一个位置LeetCod-34
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4...
2018-10-24 10:38:19
569
原创 javascript 搜索旋转排序数组LeetCod-33
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别...
2018-10-24 10:35:32
340
原创 javascript 下一个排列LeetCod-31
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 ...
2018-09-19 14:47:14
179
原创 javascript实现strStr()LeetCod-28
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:...
2018-09-19 14:44:05
299
原创 javascript 移除元素LeetCod-27
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], va...
2018-09-19 14:06:20
180
原创 javascript 删除排序数组中的重复项LeetCod-26
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被...
2018-09-19 14:03:15
256
原创 javascript 删除链表的倒数第N个节点LeetCod-24
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.说明:你的算法只能使用常数的额外空间。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 var swapPairs = func...
2018-09-19 13:39:17
215
原创 javascript 括号生成LeetCod-22
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]var generateParenthesis = functi...
2018-09-19 13:37:10
277
原创 javascript 合并两个有序链表LeetCod-21
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4var mergeTwoLists = function(l1, l2) { ...
2018-09-19 13:33:23
740
原创 javascript 有效的括号LeetCode-20
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true...
2018-09-19 13:31:02
448
1
原创 javascript 删除链表的倒数第N个节点LeetCod-19
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。var removeNthFromEnd = f...
2018-09-19 13:26:34
610
原创 javascript 四数之和LeetCod-18
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。var fourSum = function(nums, ta...
2018-09-19 13:26:20
613
原创 javascript电话号码的字母组合LeetCod-17
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce&q
2018-09-18 14:18:58
537
原创 javascript 最接近的三数之和LeetCod-16
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 ...
2018-09-18 14:12:52
833
原创 javascript 三数之和LeetCod-15
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, ...
2018-09-18 14:06:29
1193
原创 javascript 最长公共前缀LeetCod-14
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: "&q
2018-09-18 12:15:36
338
原创 javascript 罗马数字转整数LeetCod-13
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:罗马数字包含以下七种字符:I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M ...
2018-09-18 11:27:05
424
原创 javascript 整数转罗马数字LeetCode-12
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M ...
2018-09-18 11:22:53
276
原创 javascript 盛最多水的容器LeetCod-11
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。示例:输入: [1,8,...
2018-09-18 11:10:43
169
原创 JavaScript 两数相加 LeetCode-2
版权声明:本文为博主原创文章,未经博主允许不得转载题目:给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 ...
2018-09-18 10:30:35
581
原创 JavaScript 回文数 LeetCode-9
版权声明:本文为博主原创文章,未经博主允许不得转载题目描述:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: fal...
2018-09-18 10:27:31
524
原创 javascript 字符串转整数 (atoi)LeetCod-8
版权声明:本文为博主原创文章,未经博主允许不得转载题目:实现 atoi,将字符串转为整数。在找到第一个非空字符之前,需要移除掉字符串中的空格字符。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。字符串可以在形成整数的字符后面包括多余的字符,这些字...
2018-09-04 18:56:30
902
原创 javascript 反转整数 LeetCode-7
题目给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。您是否在真实的面试环节中遇到过这...
2018-09-04 17:16:49
403
原创 JavaScript Z字形变换LeetCod-6
版权声明:本文为博主原创文章,未经博主允许不得转载题目将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数:P A H NA P L S I I GY I R之后从左往右,逐行读取字符:"PAHNAPLSIIGYIR"实现一个将字符串进行指定行数变换的函数:string convert(string s, int numRows);...
2018-09-04 17:07:54
560
原创 JavaScript 两个排序数组的中位数 LeetCode-4
版权声明:本文为博主原创文章,未经博主允许不得转载https://blog.csdn.net/QQlaowang/article/details/82352698题目给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。你可以假设 nums1 和 nums2 不同时为空。示例 1...
2018-09-03 18:57:54
653
原创 JavaScript 无重复字符的最长子串 LeetCode-3
版权声明:本文为博主原创文章,未经博主允许不得转载https://blog.csdn.net/QQlaowang/article/details/82352698题目: 给定一个字符串,找出不含有重复字符的最长子串的长度。示例 1:输入: "abcabcbb" 输出: 3 解释: 无重复字符的最长子串是 "abc",其长度为 3。示例 2:输入: "bbbbb"输...
2018-09-03 18:38:15
513
原创 JavaScript两数之和 LeetCode-1
题目:给定一个整数数列,找出其中和为特定值的那两个数。你可以假设每个输入都只会有一种答案,同样的元素不能被重用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]分析:2个for循环就能轻松解决。var twoSum = function(nums, ...
2018-09-03 14:36:51
223
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人