![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JS力扣刷题
Fancy Wang
You got what you paid for.
展开
-
JS LeetCode16. 最接近的三数之和
给你一个长度为n的整数数组nums和一个目标值target。请你从nums中选出三个整数,使它们的和与target最接近。假定每组输入只存在恰好一个解。原创 2022-07-25 21:42:50 · 255 阅读 · 0 评论 -
JS leetcode15. 三数之和
给你一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c,使得a+b+c=0?请你找出所有和为0且不重复的三元组。从左侧开始,选定一个值为定值,右侧进行求解,获取与其相加为00的两个值。注意答案中不可以包含重复的三元组。等于00,记录这三个值。类似于快排,定义首和尾。小于00,首部右移。大于00,尾部左移。定值右移,重复该步骤。......原创 2022-07-23 21:22:45 · 198 阅读 · 0 评论 -
JS leetcode11. 盛最多水的容器
给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i,0)和(i,height[i])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明你不能倾斜容器。......原创 2022-07-23 21:19:51 · 244 阅读 · 0 评论 -
JS leetcode14. 最长公共前缀
输入strs=[“flower”,“flow”,“flight”]输入strs=[“dog”,“racecar”,“car”]编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串“”。解释输入不存在公共前缀。......原创 2022-07-22 21:59:34 · 159 阅读 · 0 评论 -
JS力扣13- 罗马数字转整数
通常情况下,罗马数字中小的数字在大的数字的右边。数字1在数字5的左边,所表示的数等于大数5减小数1得到的数值4。例如,罗马数字2写做II,即为两个并列的1。C可以放在D(500)和M(1000)的左边,来表示400和900。X可以放在L(50)和C(100)的左边,来表示40和90。I可以放在V(5)和X(10)的左边,来表示4和9。罗马数字包含以下七种字符I,V,X,L,C,D和M。...原创 2022-07-22 21:15:35 · 305 阅读 · 0 评论 -
JS力扣12-整数转罗马数字
通常情况下,罗马数字中小的数字在大的数字的右边。数字1在数字5的左边,所表示的数等于大数5减小数1得到的数值4。例如,罗马数字2写做II,即为两个并列的1。C可以放在D(500)和M(1000)的左边,来表示400和900。X可以放在L(50)和C(100)的左边,来表示40和90。I可以放在V(5)和X(10)的左边,来表示4和9。罗马数字包含以下七种字符I,V,X,L,C,D和M。...原创 2022-07-21 20:39:41 · 200 阅读 · 0 评论 -
JS力扣第九题-回文数
给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。解释从左向右读,为-121。从右向左读,为121-。因此它不是一个回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。解释从右向左读,为01。因此它不是一个回文数。进阶你能不将整数转为字符串来解决这个问题吗?例如,121是回文,而123不是。输入x=-121。输入x=121。...原创 2022-07-20 21:01:41 · 254 阅读 · 0 评论 -
JS力扣第五题
解题思路中心扩展法:所谓中心扩展法,就是从一个中心往两边扩展判断step1:给定字符串s,下标i,根据中心扩展法,我们需要往两边扩展判断left = i - 1;right = i + 1如果s[left]等于s[right]则继续往两边扩展判断当s[left]不等于s[right]时结束,这时候返回right-left就是回文串的长度function search(s,l,r){ var left = l; var right = r; while(left >.转载 2022-03-23 19:52:37 · 166 阅读 · 0 评论 -
JS力扣第六题
解题思路请添加图片描述(1)以一个V字形为一个循环,每次循环的次数为n=(2*numRows - 2)(2)有s中每个字符在循环中的位置是x=i % n(3)所属行号为y=min(x,n-x)(4)以上图为例,有如下规则:(5)根据规律可拼接出每一行的的字符串,最后合并所有行即可。2.代码解析(1)如果只有一行,则怎么输入怎么输出(2)如果有多行,先声明一个rows数组有numRows位(3)然后确定每个"V"的次数为n(4)遍历所有的s[i](5)找到s[i]应该存放的位置.转载 2022-03-21 18:58:46 · 195 阅读 · 0 评论 -
JS力扣第七题
1.常规思路var reverse = function(x) { var rev = 0; while (x != 0) { rev = rev * 10 + x % 10; x = parseInt(x / 10); if (rev > Math.pow(2, 31) - 1 || rev < -Math.pow(2, 31)) { return 0;原创 2022-03-19 21:25:14 · 171 阅读 · 0 评论 -
JS力扣第三题
var lengthOfLongestSubstring = function(s) { // 滑动窗口初始化为一个空数组 var arr = []; // 要返回的字符串的长度 var max = 0; for (var i = 0; i < s.length; i++) { // 使用 indexOf 判断是否在数组中出现过 var index = arr.indexOf(s[i]) // 如果出现过 if (index !== -1) {原创 2022-03-17 20:19:10 · 214 阅读 · 0 评论 -
JS力扣第一题
本人的暴力算法var twoSum = function(nums, target) { var index = []; for(var i = 0; i < nums.length-1; i++) { for(var j = i+1; j < nums.length; j++) { if(nums[i] + nums[j] == target) { index[0] = i; .原创 2022-03-14 23:07:15 · 256 阅读 · 0 评论 -
JS力扣第二题
JS链表相关操作function ListNode(val, next) { this.val = (val===undefined ? 0 : val) this.next = (next===undefined ? null : next) }//注意以下方法返回的l1.val是0,是无用的var list = new ListNode(); //l1为:ListNode { val: 0, next: null }var cur = list; //cur为:.原创 2022-03-15 22:03:13 · 855 阅读 · 0 评论