前端算法
力扣算法题从易到难记录
戴竹蜻蜓穿过那森林
这个作者很懒,什么都没留下…
展开
-
js 生成随机数(洗牌算法)
给定一个数组 nums ,随机打乱成一个没有重复元素的数组。方法一每次从未处理的数组中随机取一个元素,然后把该元素放到数组的尾部,即数组的尾部放的就是已经处理过的元素,这是一种原地打乱的算法,每个元素随机概率也相等,时间复杂度为 O(n)选取数组(长度n)中最后一个元素(arr[length-1]),将其与n个元素中的任意一个交换,此时最后一个元素已经确定选取倒数第二个元素(arr[length-2]),将其与n-1个元素中的任意一个交换重复第 1 2 步,直到剩下1个元素为止 functi原创 2021-12-01 23:56:33 · 837 阅读 · 0 评论 -
js 算法 获取数组内两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。...原创 2021-11-22 00:06:40 · 1372 阅读 · 0 评论 -
js 算法 买卖股票的最佳时机
给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例输入: prices = [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(股票价格 =原创 2021-09-28 00:09:47 · 366 阅读 · 0 评论 -
js 删除有序数组中的重复项
如题,条件有:原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例输入:nums = [0,0,1,1,1,2,2,3,3,4]输出:5, nums = [0,1,2,3,4]解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4 。不需要考虑数组中超出新长度后面的元素。解法1function demo(nums: nu原创 2021-09-26 23:58:29 · 444 阅读 · 0 评论