Algorithm
小打小闹
hello,是翠花呀
地势坤,君子以厚德载物
展开
-
Leetcode 2、141:两数相加-环形链表
两数相加```javascript var addTwoNumbers = function (l1, l2) { let cur1 = l1; let cur2 = l2; let newLinkHead = new ListNode(0); let result = newLinkHead; let yu = 0; // 余数 let carrybit = 0; // 进位 let val1; let val2;原创 2021-12-09 01:01:55 · 391 阅读 · 0 评论 -
Leetcode 92、206:反转链表-反转链表 II
反转链表 IIvar reverseBetween = function (head, left, right) { let cur = head; let pre = null; let i = 1; if (left === right) { return head; } while (i < left) { pre = cur; cur = cur.next; i++; } let newCur = cur; let n原创 2021-11-23 00:56:55 · 296 阅读 · 0 评论 -
Leetcode 32、509:最长有效括号-斐波那契数
最长有效括号var longestValidParentheses = function(s) { if (!s) { return 0; } let stack = []; let maxLen = 0; let start = 0 for (let i = 0; i < s.length; i++) { if (s[i] === '(') { stack.push(i); } else if (s[i] === ')') {原创 2021-11-23 00:46:51 · 122 阅读 · 0 评论 -
Leetcode 3、4、8:无重复最长子串-中位数-字符串转换整数
请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。原创 2021-06-16 00:07:14 · 157 阅读 · 0 评论 -
Leetcode 11、26、27:盛水最多容器-删除有序数组重复项-移除元素
给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0) 。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。原创 2021-05-31 20:05:44 · 156 阅读 · 0 评论 -
Leetcode 5、14、20:最长回文子串-最长公共前缀-有效括号
给你一个字符串 s,找到 s 中最长的回文子串。编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。原创 2021-05-28 16:02:52 · 188 阅读 · 0 评论 -
使用笛卡尔积实现商品颜色材质等的组合SKU
实现一个函数`function generateItems(specs)`,接受类似如下的输入数组(例子):```javascript[{"id":"17","caption":"颜色","types":["黑","棕"]},{"id":"23","caption":"材质","types":["牛皮"]},{"id":"24","caption":"尺码","types":["40","...原创 2020-04-25 23:51:04 · 656 阅读 · 0 评论 -
Leetcode 12、13:整数转罗马数字-罗马数字转整数
通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。 C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。原创 2021-05-28 11:18:26 · 163 阅读 · 0 评论 -
Leetcode 42:JavaScript解力扣接雨水算法详细到每一行注释
一给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。一眼看到这题,要左右左右对比计算好烦,于是立刻想到一层一层计算的方法,但是使用递归的话会爆栈啊??不管了————谁叫我像风一样自由~ 就像你的温柔 ~ ...原创 2019-11-29 21:44:27 · 517 阅读 · 0 评论 -
Leetcode 1、7、9:JavaScript版两数之和、反转整数、判断回文数
【简单篇】1.两数之和/** * * @param {*} nums 数组 * @param {*} target 目标值 * @desc 给定一个整数数组和一个目标值,找出数组中和为目标值的 两个 数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例: 给定 nums = [2, 7, 11, 15]...原创 2019-05-01 23:09:03 · 291 阅读 · 0 评论