![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
kx_kk
这个作者很懒,什么都没留下…
展开
-
每周算法七
贪心算法: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 · 67 阅读 · 0 评论 -
每周算法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 · 136 阅读 · 0 评论 -
每周算法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 · 71 阅读 · 0 评论 -
每周算法4
本周我会做一些中等难度的字符串题。2020.10.061.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 · 92 阅读 · 0 评论 -
每周算法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 · 66 阅读 · 1 评论 -
每周算法2
这一周主要做一些字符串的算法题。首先,先回忆下字符串的操作方法:contact() 可以接受多个参数,将一或多个字符串拼接起来,不会改变原数组。repeat() 返回一个新字符串,表示将原字符重复n次。trim() 删除前置和后缀的所有空格。字符串截取:slice() 第一个参数:指定字符串的开始位置;第二个参数:子字符串最后一个字符后面的位置。当传入负值时,与字符串长度相加,不会改变原数组。substring() 第一个参数:指定字符串的开始位置;第二个参数:子字符串最后原创 2020-09-28 17:38:34 · 124 阅读 · 0 评论 -
每周算法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 · 205 阅读 · 1 评论