
算法
基础算法
Luck Young
个人网站https:/www.wlittleyang.com
展开
-
[阿里面试题] 有多个并发请求时,实现一个请求完成后,再请求下一个
题目有多个并发请求时,实现一个请求完成后,再请求下一个。实现间隔1s按顺序打印出1、2、3、4。以下提供部分代码!function request(x) { return new Promise(resolve => { const timer = setTimeout(() => { console.log(x) resolve(x) clearTimeout(timer) }, 1000) })}function se原创 2022-03-10 21:49:29 · 1831 阅读 · 0 评论 -
js 多维数组扁平化
代码/** * 多维数组扁平化 * @param {Array<T>} deepArr 多维数组 * @param {Array<string>} hideKeys 扁平后不要的key值 * @returns Array<T> */function toFlatness(deepArr = [], hideKeys = []) { const reg = new RegExp(hideKeys.join('|')) const list = []原创 2021-07-09 09:52:47 · 248 阅读 · 0 评论 -
js实现根据最小值,截取数组
根据传递的最小值截取数组,并将其作为首位。在做分页的时候还是很有用的,在前端,有些时候为了页面能够美观,有时候列表数量不一致,这样就能控制分页的页码。// 传递的最小值截取数组并将最小值添加到首位function minArrSplice(min, arr) { if (!arr || arr.length < 2) return arr; let _index = 0; ...原创 2019-10-21 09:39:56 · 363 阅读 · 0 评论 -
折半查找
const a = [3,6,7,10,11,16,20,33,56,89];const b = [41,4,5,1,3,16,20,33,56,89];/** * 折半查找 * @param arr 数组 * @param key 需要查找的关键字 * @param flag 是否需要排序 * @returns {number} 所在数组的索引 * @constructor...原创 2019-02-01 23:40:34 · 204 阅读 · 0 评论 -
js将一个数组分割成多个子数组
在做一个项目的时候需要将得到的json数据分组显示,于是自己写了个算法。将一个长数组分割成许多小数组保存起来。/** * 分割数组创建二维数组封装 * @param data 数组 * @param senArrLen 需要分割成子数组的长度 */let splitArr = (data , senArrLen)=>{ //处理成len个一组的数据 let d...原创 2018-11-01 16:25:57 · 17326 阅读 · 1 评论 -
js超过了21为的数字怎么处理?
在项目中遇到了一个37位的数字,后台默认返回的是long型的,但这个超过了js中number类型的安全范围(2^53 = 9007199254740992),js会自动转换成科学计数法,小数还是整数都会使用科学计数法来表示。对于整数来说可以使用js的内置对象BigInt来转换,接受的number类型console.log(BigInt(8.2947751915953e+37));//2...原创 2019-09-03 17:37:14 · 2821 阅读 · 0 评论 -
Less 循环
Less循环可以设置参数的值,也可以生成类,在CSS3动画中真是6得不要不要的。下面我就实现一个分页符的响应式,在>896px的屏幕下显示10个数字按钮,小于只显示5个数字分页按钮。1、首先我们先设置循环函数 /*隐藏大于5 的分页符*/ .hidden-numBtn(@n , @i : 5) when (@i <= @n){ li:nth-chi...原创 2018-07-20 15:48:33 · 1941 阅读 · 0 评论 -
java 四舍五入保留一定小数位数
在练习蓝桥杯习题的时候第二题就卡壳了,在于四舍五入保留小数位数。在八六小数位数的时候总有那么两个值不正确。于是上网搜了一下相关资料,发现了个嘿嘿嘿……,见一下代码:import java.math.BigDecimal;import java.text.DecimalFormat;import java.util.Scanner;public class Case2 { pu原创 2018-01-28 07:49:16 · 539 阅读 · 0 评论 -
50道java基础编程(6~10)
【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。程序分析:利用辗除法。 暴力求解发:public class IntMaxGyMinGb { /** * @param args * 最大公约数:两个数的最小约数之积 * 最小公倍数:两个数的最小约数与最小余数之积a */ //最原创 2017-12-10 16:26:06 · 329 阅读 · 0 评论 -
50道java基础编程(1~5)
【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?提示:给出月份 返回兔子对数public class Rabbit { /* * 第一个月:1 * 第二个月:1 * 第三个月:2 * 第四个月:3原创 2017-12-07 21:53:07 · 354 阅读 · 0 评论