- 博客(7)
- 收藏
- 关注
原创 每周算法七
贪心算法: 1.买卖股票的最佳时机 II /** * @param {number[]} prices * @return {number} */ var maxProfit = function(prices) { let res=0; for(let i=0;i<prices.length-1;i++){ if(prices[i]<prices[i+1]){ res+=prices[i+1]-prices[i] } } return res
2020-11-03 19:34:05
122
原创 每周算法6
1.矩形重叠 /** * @param {number[]} rec1 * @param {number[]} rec2 * @return {boolean} */ var isRectangleOverlap = function(rec1, rec2) { return (Math.min(rec1[2], rec2[2]) > Math.max(rec1[0], rec2[0]) &&Math.min(rec1[3], rec2[3]) > Math.max(
2020-10-25 14:51:07
184
原创 每周算法5
1.二进制求和 /** * @param {string} a * @param {string} b * @return {string} */ var addBinary = function(a, b) { let L = a.length-1; let R = b.length-1; let sum=0,t=0; let str = '' while(L>=0||R>=0){ let s1 = a[L]?(a[L]-'0'):0
2020-10-19 19:57:45
125
原创 每周算法4
本周我会做一些中等难度的字符串题。 2020.10.06 1.Z字形变换 这道题主要是找字符串每个字符i所对应的索引与最后输出的索引之间的规律 /** * @param {string} s * @param {number} numRows * @return {string} */ var convert = function(s, numRows) { if(numRows==1){ return s } let res=[] for(let i=0;i<nu
2020-10-11 11:52:57
143
原创 每周算法3
1.重复的子字符串 这道题主要用到KMP算法,getNext()函数找到前缀表。 /** * @param {string} s * @return {boolean} */ var repeatedSubstringPattern = function(s) { let len = s.length if(len<=1){ return false } let getNext=(next,s)=>{ next[0]=0 let j=0
2020-10-05 20:17:07
129
1
原创 每周算法2
这一周主要做一些字符串的算法题。 首先,先回忆下字符串的操作方法: contact() 可以接受多个参数,将一或多个字符串拼接起来,不会改变原数组。 repeat() 返回一个新字符串,表示将原字符重复n次。 trim() 删除前置和后缀的所有空格。 字符串截取: slice() 第一个参数:指定字符串的开始位置;第二个参数:子字符串最后一个字符后面的位置。当传入负值时,与字符串长度相加,不会改变原数组。 substring() 第一个参数:指定字符串的开始位置;第二个参数:子字符串最后
2020-09-28 17:38:34
177
原创 每周算法1
记录一下做算法的历程,之后的算法小编会用javaScript来进行编写,有和我一样是前端的小伙伴同时也想提高自己的算法能力的可以一起学习。 第一周我想尝试一些双指针类型的题目。 2020-09-14 三数之和(排序加双指针) * @param {number[]} nums * @return {number[][]} */ function compare(a,b) { return a-b; } var threeSum = function(nums) { let res=[]
2020-09-20 21:28:22
267
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅