javascript
南南东
佛系食堂清洁工,旁听各高校课程,偶尔钓鱼。
展开
-
js 学习第10章 DOM
DOM1.每个节点都有一个nodeType属性,一共有12个 Node.nodeType === 3(或者Node.TEXT_NODE) // true 就说名这个节点类容是文本2.nodeName 和 nodeValue 属性someNode.nodeName // 元素的标签名节点的关系:1.childNodessomeNode.childNodes[0]; // someNode.chlidNodes.item(1);2.parentNode // 父节点someNode.nex原创 2020-09-14 21:33:49 · 263 阅读 · 0 评论 -
leetcode #283 移动零 js 两种方法 &&发现.sort()在不同环境下的差异
移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12] 输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。代码1(利用sort()方法):var moveZeroes = nums => { nums.sort((a,b) => b===0?-1:0); return nums;};代码2(覆盖):var moveZer原创 2020-08-06 22:22:40 · 162 阅读 · 0 评论 -
leetcode #315 计算右侧小于当前元素的个数 js轻松解决
计算右侧小于当前元素的个数给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。示例:输入:[5,2,6,1]输出:[2,1,1,0] 解释:5 的右侧有 2 个更小的元素 (2 和 1)2 的右侧仅有 1 个更小的元素 (1)6 的右侧有 1 个更小的元素 (1)1 的右侧有 0 个更小的元素题解:从每一个元素开始将其右侧小于它的元素个数记录下来然后填再对原创 2020-08-06 16:15:35 · 240 阅读 · 1 评论 -
leetcode #485 最大连续1的个数 js轻松解决
最大连续1の个数给定一个二进制数组, 计算其中最大连续1的个数。示例 1:输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.注意:输入的数组只包含 0 和1。输入数组的长度是正整数,且不超过 10,000。题解:声明两个变量now用来存储当前的连续1的个数,max用来存放最大连续1的个数,遍历即可。代码:ar findMaxConsecutiveOnes = function(nums) { let now原创 2020-08-06 16:00:44 · 221 阅读 · 0 评论 -
leetcode #495 提莫攻击 js 简单解决
提莫攻击在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。现在,给出提莫对艾希的攻击时间序列和提莫攻击的中毒持续时间,你需要输出艾希的中毒状态总时长。你可以认为提莫在给定的时间点进行攻击,并立即使艾希处于中毒状态。示例1:输入: [1,4], 2输出: 4原因: 第 1 秒初,提莫开始对艾希进行攻击并使其立即中毒。中毒状态会维持 2 秒钟,直到第 2 秒末结束。第 4 秒初,提莫再次攻击艾希,使得艾希获得另外 2 秒中毒时间。所原创 2020-08-06 15:47:34 · 395 阅读 · 0 评论 -
leetcode #414第三大的数 js两种解法
第三大的数给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例 1:输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例 2:输入: [1, 2]输出: 2解释: 第三大的数不存在, 所以返回最大的数 2 .示例 3:输入: [2, 2, 3, 1]输出: 1解释: 注意,要求返回第三大的数,是指第三大且唯一出现的数。存在两个值为2的数,它们都排第二。解题思路1(时间复杂度O(nlogn):原创 2020-08-06 15:33:45 · 343 阅读 · 0 评论 -
leetcode #628 三个数的最大乘积 js 两行解决
三个数的最大乘积题目:给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24注意:给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。解题思路:先将数组排序,最后三个数相乘肯定最大,但是有可能是两个负数和最后一个数相乘最大所以比较一下就好了。代码:ar maximumPr原创 2020-08-06 13:42:20 · 169 阅读 · 0 评论 -
leetcode #665 非递减数列 javascrpit有图简单易懂
leetcode非递减数列题目:给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。示例 1:输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。示例 2:输入: nums = [4,2,1]输出: false原创 2020-08-02 17:37:48 · 225 阅读 · 0 评论 -
leetcode #697 数组的度 javascript 轻松解决
数组的度题目:给定一个非空且只包含非负数的整数数组 nums, 数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。示例 1:输入: [1, 2, 2, 3, 1]输出: 2解释: 输入数组的度是2,因为元素1和2的出现频数最大,均为2.连续子数组里面拥有相同度的有如下所示: [1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1,2, 2], [2, 2, 3], [2, 2原创 2020-08-04 01:03:57 · 159 阅读 · 0 评论 -
leetcode #448 找到所有消失的数字 js 简单解决
找到所有消失的数字题目:给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。示例:输入:[4,3,2,7,8,2,3,1]输出:[5,6]代码:var findDisappearedNumbers = function(nums) {原创 2020-08-02 20:56:42 · 209 阅读 · 0 评论 -
leetcode #442数组中重复的数字 javascript轻松解决
数字中重复的数字题目:给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗?示例:输入:[4,3,2,7,8,2,3,1]输出:[2,3]代码:var findDuplicates = function(nums) { let list = new Map(); let repeat = []; for(con原创 2020-08-02 20:42:33 · 189 阅读 · 0 评论