JavaScript之解决LeetCode算法题
本专栏讲述使用JavaScript来解决LeetCode上的算法题,以及思路过程
rookieLink
月光皎洁,万物喜其滋润,盗贼恶其光明
展开
-
JavaScript解决LeetCode算法题(7)——《整数反转》
题目:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21解题方法1:这...原创 2019-11-06 23:48:16 · 204 阅读 · 0 评论 -
JavaScript解决LeetCode算法题(6)——《Z 字形变换 》
题目将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行...原创 2019-10-31 22:39:24 · 228 阅读 · 0 评论 -
JavaScript解决LeetCode算法题(5)——《最长回文子串》
题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例2:输入: “cbbd”输出: “bb”解题方法1(动态规划):这题的动态规划法就一个核心思想,保证s[i]===s[j]的同时,保证s[i+1]=s[j-1],这种算法时间复杂度是O(n...原创 2019-10-30 09:45:16 · 820 阅读 · 0 评论 -
JavaScript解决LeetCode算法题(4)——《寻找两个有序数组的中位数》
题目给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 (2 ...原创 2019-10-27 19:47:49 · 238 阅读 · 0 评论 -
JavaScript解决LeetCode算法题(3)——《无重复字符的最长子串》
题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度示例1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wk...原创 2019-10-26 15:36:16 · 173 阅读 · 0 评论 -
JavaScript解决LeetCode算法题(2)——《两数相加》
题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&...原创 2019-10-24 23:09:01 · 622 阅读 · 1 评论 -
JavaScript解决LeetCode算法题(1)——《两数之和》
题目给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解题方法1...原创 2019-10-23 22:07:16 · 212 阅读 · 0 评论