![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数组
NanDaJ
这个作者很懒,什么都没留下…
展开
-
买卖股票的最佳时机
题目链接/** * @param {number[]} prices * @return {number} */ /** 实现思路:股票包括买和卖,买和卖要一起发生才能产生利润,所以买一只股票要有一只高于它的股票才能 产生利润。 卖的时候可能会出现后面的价钱越来越高,所以要循环到最高的那个 用两个指针分别指示前后两只股票,当右指针的价钱更高时说明可以卖了,右指针+1(找到最高的那个卖价) */var maxProfit = function(prices) { var l.原创 2021-10-09 10:44:19 · 74 阅读 · 0 评论 -
最近三数之和
题目描述/** * @param {number[]} nums * @param {number} target * @return {number} */var threeSumClosest = function(nums, target) { let length = nums.length if(length == 0) return null if(length == 1) return nums[0] if(length == 2) return n原创 2021-09-28 08:31:01 · 52 阅读 · 0 评论 -
三数之和为0
题目描述题目思路:将数组从小到大排序从第一个数开始遍历当该数大于0,说明相加起来肯定不会=0,结束遍历当该数等于前一个数,continue剩下两个数定义为right(最右的数),left(该数的下一个数),然后将三个数进行相加,当>0的时候,right–,当<0的时候,++记得去重/** * @param {number[]} nums * @return {number[][]} */var threeSum = function(nums) { if(nu原创 2021-09-28 08:14:19 · 128 阅读 · 0 评论 -
2021-09-27
题目描述解题思路:以左右为边界,谁小谁往里面移动,例如右高度比较小,则右向左移动。/** * @param {number[]} height * @return {number} */var maxArea = function(height) { let max = -1 let L = 0 let R = height.length-1 while(L<R){ if(height[L]<height[R]){原创 2021-09-27 19:14:50 · 60 阅读 · 0 评论 -
寻找两个正序数组的中位数
题目链接/** * @param {number[]} nums1 * @param {number[]} nums2 * @return {number} */var findMedianSortedArrays = function(nums1, nums2) { let stack = [] while(nums1.length!=0){ stack.push(nums1.pop()) } while(nums2.length!=0){原创 2021-09-27 18:55:21 · 49 阅读 · 0 评论