算法
weixin_Da冰
这个作者很懒,什么都没留下…
展开
-
LeetCode---328. 奇偶链表
给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例 1:输入: 1->2->3->4->5->NULL输出: 1->3->5->2->4->NULL示例 2:输入: 2->1->3->5->6->原创 2021-10-01 09:59:11 · 111 阅读 · 0 评论 -
算法---笔记草稿
1.输入字符包括,"(" , “)” 和 "<“和其他字符。2.其他字符表示笔记内容。3.()之间表示注释内容,任何字符都无效。 括号保证成对出现。4.”<“表示退格, 删去前面一个笔记内容字符。括号不受”<"影响 。输入描述:输入一行字符串。长度<=10000.输出描述:输出一行字符串,表示最终的笔记内容。示例1输入Corona(Trump)USA<<<Virus输出CoronaVirus原创 2021-09-18 15:20:37 · 100 阅读 · 0 评论 -
算法---变量名转换为小驼峰
将输入的变量名转换为小驼峰写法可能的输入命名如下:TestVariabletest_variableTEST_VARIABLE,最终输出为testVariablefunction format( name ) { if(!name) return ""; //用下划线来分割字符串,存放在一个数组中 var arr=name.split("_"); var arrLen=arr.length; var result=""; //arr的长度原创 2021-09-16 20:40:03 · 661 阅读 · 0 评论 -
算法---落单字符
给定字符串,请找出最后一个只出现一次的字符。输入例子1:“shopee”输出例子1:“p”function lastUniqueChar( str ) { if(str.length === 1 || str.length === 0){ return str; } // write code here //创建map对象用来存储每个字符出现的次数 var map = new Map(); for(var i = 0; i &原创 2021-09-16 18:28:12 · 109 阅读 · 0 评论 -
算法---判断小括号是否闭合
创建一个函数来判断给定的表达式中的小括号是否闭合;var expression = “(())()()”var expressionFalse = “()(()”;isBalanced(expression); // trueisBalanced(expressionFalse); // falseisBalanced(""); // true输入描述:输入为需要判断的变量,如(())()() 或 ()(() 或 “”输出描述:输出为布尔值,true或false示例1输入 (原创 2021-09-12 12:32:05 · 164 阅读 · 0 评论 -
LeetCode---415. 字符串相加
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。示例 1:输入:num1 = “11”, num2 = “123”输出:“134”示例 2:输入:num1 = “456”, num2 = "77" 输出:“533”示例 3:输入:num1 = “0”, num2 = “0”输出:“0”提示:1 <= num1.le原创 2021-09-12 12:16:38 · 100 阅读 · 0 评论 -
LeetCode---73. 矩阵置零
给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。进阶:一个直观的解决方案是使用 O(mn) 的额外空间,但这并不是一个好的解决方案。一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。你能想出一个仅使用常量空间的解决方案吗?示例 1:输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]示例 2:输入:mat原创 2021-09-09 00:02:58 · 129 阅读 · 0 评论 -
LeetCode---66. 加一
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits = [0]输出:[1]/** * @para原创 2021-09-08 23:20:29 · 74 阅读 · 0 评论 -
LeetCode---198. 打家劫舍
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。示例 2:输入:[2,7,9原创 2021-09-08 00:49:08 · 78 阅读 · 0 评论 -
LeetCode---54. 螺旋矩阵
给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]/** * @param {number[][]} matrix * @return {numb原创 2021-09-08 00:46:09 · 131 阅读 · 0 评论 -
LeetCode---56. 合并区间
以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。示例 1:输入:intervals = [[1,3],[2,6],[8,10],[15,18]]输出:[[1,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入:intervals = [[1,4],[4,原创 2021-09-08 00:38:07 · 197 阅读 · 0 评论 -
LeetCode---62. 不同路径
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例 1:输入:m = 3, n = 7输出:28示例 2:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。向右 -> 向下 -> 向下向下 -> 向下 -> 向右向下 -> 向右 -原创 2021-09-08 00:28:18 · 373 阅读 · 0 评论 -
LeetCode---53. 最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [0]输出:0示例 4:输入:nums = [-1]输出:-1示例 5:输入:nums = [-100000]输出:-100000/**原创 2021-09-07 00:05:40 · 122 阅读 · 0 评论 -
LeetCode---49. 字母异位词分组
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母都恰好只用一次。示例 1:输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]示例 2:输入: strs = [""]输出: [[""]]示例 3:输入: strs = [“a”]输原创 2021-09-06 23:50:43 · 172 阅读 · 0 评论 -
LeetCode----200. 岛屿数量
给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:grid = [[“1”,“1”,“1”,“1”,“0”],[“1”,“1”,“0”,“1”,“0”],[“1”,“1”,“0”,“0”,“0”],[“0”,“0”,“0”,“0”,“0”]]输出:1示例 2:输入:grid = [[“1”,“1”,“0”原创 2021-09-06 20:52:54 · 333 阅读 · 0 评论 -
LeetCode---695. 岛屿的最大面积
给定一个包含了一些 0 和 1 的非空二维数组 grid 。一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为 0 。)示例 1:[[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,0,0,0,0,0],[0,1,原创 2021-09-06 20:48:51 · 104 阅读 · 0 评论 -
LeetCode-----19. 删除链表的倒数第 N 个结点(JavaScript实现)
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val=原创 2021-09-05 16:11:54 · 145 阅读 · 0 评论 -
LeetCode------1. 两数之和(Javascript实现)
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], target原创 2021-09-05 16:01:49 · 56 阅读 · 0 评论