算法
JS实现的一些算法力扣题库
XUPT-前端在逃工程师
逃
展开
-
day4---排序算法
//冒泡排序function bubbleSort(arr){ for(let i=0;i<arr.length;i++){ for(let j=0;j<arr.length;j++){ if(arr[j]>arr[j+1]){ let k = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = k; } } } return arr}//选择排序functio.原创 2021-10-07 16:02:27 · 115 阅读 · 0 评论 -
day3---关于数字
//大数和 function bigNum(num1, num2) { let len = Math.max(num1.length, num2.length); num1 = num1.padStart(len, '0'); num2 = num2.padStart(len, '0'); let t, f = 0; let sum = ''; for (let i = len - 1; i >= 0; i--) ...原创 2021-10-07 15:37:28 · 79 阅读 · 0 评论 -
day2--链表
1.链表是什么?一组不必相连的内存结构,按特定顺序链接在一起的抽象数据类型1.不必相连2.节点2.链表种类单向链表:内存结构由数据域next指针域组成(单向遍历)双向链表:通过指针Next 和指针 Prev 链接在一起组成循环链表:每一个内存结构都有前驱后继3.链表算法//数组转链表 function createLinkedList(arr) { let linkNode = []; function Node(val) { this.va原创 2021-10-03 10:19:46 · 134 阅读 · 0 评论 -
day1--关于递归
关于递归两个特点1.递归的逻辑2.递归的边界算法实例1.求累加,求阶乘//累加function main1(n){ if (n <= 1) { return 1; } return main1(n - 1) + n;}//阶乘function main2(n){ if (n <= 1) { return 1; } return main2(n - 1) * n;}2.菲薄那西数列function Fib原创 2021-10-02 22:14:19 · 96 阅读 · 0 评论 -
算法题目day2
1.重新格式化电话号码给你一个字符串形式的电话号码 number 。number 由数字、空格 ’ '、和破折号 ‘-’ 组成。请你按下述方式重新格式化电话号码。首先,删除 所有的空格和破折号。其次,将数组从左到右 每 3 个一组 分块,直到 剩下 4 个或更少数字。剩下的数字将按下述规定再分块:2 个数字:单个含 2 个数字的块。3 个数字:单个含 3 个数字的块。4 个数字:两个分别含 2 个数字的块。最后用破折号将这些块连接起来。注意,重新格式化过程中 不应该 生成仅含 1 个数字的块原创 2021-01-29 21:15:26 · 259 阅读 · 0 评论 -
算法题目day1
1.贪心算法假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例 1:输入: g = [1,2,3], s = [1,1]输出: 1解释:你有三个孩子和两块小饼干,3个孩子的胃口原创 2021-01-28 04:47:25 · 168 阅读 · 0 评论