![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode算法
文章平均质量分 65
忙着开花儿
你若盛开,清风徐来
展开
-
JS实现 LeetCode 数组类算法(一)
更多算法实现见:https://github.com/Erindcl/Daily-algorithm 1. 两数之和给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。思路:遍历数组,将数组的某个元素与在该元素后面的其他元素进行求和,将和与目标值进行比较,若相等则返回两元素的索引。代码如下:var two...原创 2018-07-16 17:50:34 · 318 阅读 · 0 评论 -
今日份算法 — 100. 相同的树 101. 对称二叉树
更多算法实现见:https://github.com/Erindcl/Daily-algorithm 100. 相同的树 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。代码如下:/** * Definition for a binary tree node. * function Tree...原创 2018-08-07 14:13:49 · 130 阅读 · 0 评论 -
今日份算法 — 70. 爬楼梯 83. 删除排序链表中的重复元素
更多算法实现见:https://github.com/Erindcl/Daily-algorithm 70. 爬楼梯 假设你正在爬楼梯。需要 n 步你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?分析:爬一个台阶有1种方法,两个台阶有2种方法,爬三个台阶有1+2=3中方法,爬四个台阶有2+3=5中方法,依次类推,爬i个台阶有( ...原创 2018-08-06 13:32:44 · 115 阅读 · 0 评论 -
今日份算法 — 21. 合并两个有序链表 67. 二进制求和
更多算法实现见:https://github.com/Erindcl/Daily-algorithm 21. 合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。代码如下:/** * Definition for singly-linked list. * function ListNode(val) { * ...原创 2018-08-05 19:25:12 · 141 阅读 · 0 评论 -
今日份算法 — 56. 合并区间
更多算法实现见:https://github.com/Erindcl/Daily-algorithm 56. 合并区间给出一个区间的集合,请合并所有重叠的区间。分析:将Interval的start与end元素分别置于两个数组中并排序,遍历通过比较排序后两数组的元素大小得出合并后的区间。代码如下:/** * Definition for an interval. * func...原创 2018-07-31 21:09:12 · 249 阅读 · 0 评论 -
今日份算法 — 657. 判断路线成圈 557. 反转字符串中的单词 III
更多算法实现见:https://github.com/Erindcl/Daily-algorithm 657. 判断路线成圈初始位置 (0, 0) 处有一个机器人。给出它的一系列动作,判断这个机器人的移动路线是否形成一个圆圈,换言之就是判断它是否会移回到原来的位置。 移动顺序由一个字符串表示。每一个动作都是由一个字符来表示的。机器人有效的动作有 R(右),L(左),U(上)和 D(下...原创 2018-07-22 16:29:15 · 134 阅读 · 0 评论 -
JS实现 LeetCode 数组类算法(六)
更多算法实现见:https://github.com/Erindcl/Daily-algorithm 724. 寻找数组的中心索引给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。 我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。 如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该...原创 2018-07-22 15:53:51 · 232 阅读 · 0 评论 -
JS实现 LeetCode 数组类算法(五)
更多算法实现见:https://github.com/Erindcl/Daily-algorithm628. 三个数的最大乘积给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。分析:因为有负数的出现 有两种结果构成最大乘数,一是三个最大正数相乘,二是一个最大正数和两个最小负数相乘。故将数组排序后 将上述两种情况都进行计算 比较两者结果大小就可求出最大值。代码如下:...原创 2018-07-22 15:30:25 · 250 阅读 · 0 评论 -
今日份算法 — 859. 亲密字符串
更多算法实现见:https://github.com/Erindcl/Daily-algorithm 859. 亲密字符串给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true ;否则返回 false 。分析:出现亲密字符串的结果有两种:(1)第一种是两个字符串有且只有两个位置的字符不相同且并且交换两个位置的字符能...原创 2018-07-29 16:28:20 · 938 阅读 · 0 评论 -
今日份算法 — 680. 验证回文字符串 Ⅱ
更多算法实现见:https://github.com/Erindcl/Daily-algorithm 680. 验证回文字符串 Ⅱ给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。分析:设置字符串的首尾指针i和j,利用指针比较字符串首尾的字符,如果遇到不相等的情况,分别截取包含s[i]~s[j-1]和s[i+1]~s[j]的子字符串,并判断两个子字符串是否为回文字符...原创 2018-07-28 22:06:12 · 320 阅读 · 0 评论 -
今日份算法 — 520. 检测大写字母 551. 学生出勤纪录 I
更多算法实现见:https://github.com/Erindcl/Daily-algorithm 520. 检测大写字母给定一个单词,你需要判断单词的大写使用是否正确。 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如"USA"。 单词中所有字母都不是大写,比如"leetcode"。 如果单词不只含有一个字母,只有首字母大写, 比如 "Google"...原创 2018-07-19 17:29:30 · 226 阅读 · 0 评论 -
JS实现 LeetCode 数组类算法(四)
更多算法实现见:https://github.com/Erindcl/Daily-algorithm 532. 数组中的K-diff数对给定一个整数数组和一个整数 k, 你需要在数组里找到不同的 k-diff 数对。这里将 k-diff 数对定义为一个整数对 (i, j), 其中 i 和 j 都是数组中的数字,且两数之差的绝对值是 k.、 注意: 数对 (i, j) 和数对 (j,...原创 2018-07-19 16:03:40 · 267 阅读 · 0 评论 -
JS实现 LeetCode 数组类算法(三)
更多算法实现见:https://github.com/Erindcl/Daily-algorithm 268. 缺失数字 给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。 分析:将数组进行升序排序,没有缺失的数组元素应该与其下标相等,故排序后遍历数组,将数组下标与元素进行比较,若不相等,则数组下标即为该数组缺失的元...原创 2018-07-18 16:40:05 · 189 阅读 · 0 评论 -
JS实现 LeetCode 数组类算法(二)
更多算法实现见:https://github.com/Erindcl/Daily-algorithm 88. 合并两个有序数组给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等...原创 2018-07-17 19:18:58 · 197 阅读 · 0 评论 -
今日份算法 — 104. 二叉树的最大深度
更多算法实现见:https://github.com/Erindcl/Daily-algorithm 104. 二叉树的最大深度 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。注意递归返回节点数时要加1。代码如下:/** * Definition for a binary t...原创 2018-08-28 13:45:11 · 109 阅读 · 0 评论