
算法
yuri.css
这个作者很懒,什么都没留下…
展开
-
leetcode 283 :移动零【JavaScript/JS解法】
leetcode 283 移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。看了一些方法,最后决定用最死的方法来解决本身要解决的是在改变了数组内容的位置之后如何准确定位到未处理的元素故使用多一个count作为计数而不是使用for循环function changeZero(num) { let i = 0 let count = 0 while (count < num.length) { conso原创 2021-04-05 21:35:13 · 176 阅读 · 0 评论 -
leetcode 125 :验证回文串【JavaScript/JS解法】
先上题给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。检测是否是回文串很简单,主要的问题在于对字符串做过滤,其中涉及数字和字符想到的是用ASCII码进行检验,然后字母方面涉及大写和小写字母,将大写字母判断之后后转为小写并用一个中转字符串来进行存储过滤后的字符串可得:var isPalindrome = function (s) { let tmp = ""; for (let i = 0; i < s.length; i++) { if原创 2020-12-26 15:19:57 · 252 阅读 · 0 评论 -
leetcode【105/106/108/109】由xxx(遍历序列/数组/链表...)生成xxx二叉树 类型总结 [js解法]
最近写的leetcode的100多题位置的时候,出现了几题由xxx(数组/链表/…)生成树的一类型的题,总结一下用xx(数组/链表/…)生成树的题:再去找这个树的根节点并生成一个基础的TreeNode再通过递归解决左右节点,逐渐拼接上去同时要把无结点和只有一个节点的过滤出去先看105,106由前序+中序/中序+后序生成二叉树同样是先找到二叉树的根节点前序+中序整棵树根节点为前序数组的第一个数,根据这个根节点new TreeNode()然后就可以根据这个节点在前序和中序数组中找到根原创 2020-12-22 09:32:36 · 138 阅读 · 0 评论 -
leetcode 80 :删除排序数组中的重复项 II【JavaScript/JS解法】
先上题:给定一个增序排列数组nums,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。一个循环解决var removeDuplicates = function (nums) { for (let i = 0; i < nums.length; i++) { nums.splice( nums.indexOf(nums[...原创 2020-12-15 13:16:03 · 183 阅读 · 0 评论 -
leetcode 66 :加一【JavaScript/JS解法】
还是先上题给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。看完题之后感受就是join和split来回跳return (Number(digits.join("")) + 1n).toString().split("");然后出现两个问题:1存在 [0,0] 这样的输入,如果直接转换为零的位置就没了,错误所以我就加上了一段进行处理...原创 2020-12-11 22:23:00 · 384 阅读 · 0 评论 -
leetcode 48 :旋转图像【JavaScript/JS解法】
先上题:给定一个n×n的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。ok一眼看上去没什么问题,90°旋转,来观察给出的例子给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]]给定 matrix =[ [ 5, 1, 9...原创 2020-12-05 11:35:59 · 808 阅读 · 0 评论 -
leetcode 20 :有效的括号【JavaScript/JS解法】
先上题目给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。leetcode 哭笑不得的一题,没仔细审题的后果((。・・)ノ一开始的写法是这样的var isValid = function (s) { let arr = s.split(""); let obj = {}; for (let i = 0; ..原创 2020-11-28 11:46:34 · 232 阅读 · 0 评论