- 博客(28)
- 资源 (3)
- 收藏
- 关注
原创 动态规划&&贪婪算法——JavaScript学习路线
动态规划求一个问题最优解(最大值或最小值),该问题可以分解为若干子问题从此再也不怕动态规划了,动态规划解题方法论大曝光 !| 理论基础 |力扣刷题总结| 动态规划入门_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV13Q4y197Wg/?spm_id_from=333.788动归基础:509、70、746、62、63、343、96背包问题:(背包基础)01、0416、1049、0494、0474 (完全背包)05...
2022-05-09 16:11:18
278
原创 排序&递归算法——JavaScript学习路线
二分查找、归并排序、快速排序二维数组搜索路径:回溯法、递归最优解,多个子问题:动态规划(自上而下、自下而上)子问题特殊选择:贪婪算法查找:顺序查找、二分查找、哈希表查找和二叉排序树查找(二叉搜索树)二分查找:在排序的数组查找一个数字或者统计某个数字出现次数;排序:插入排序、冒泡排序、归并排序、快速排序等*递归函数中调用自己会导致死递归,栈溢出;递归时使用setTimeout(fn,0)不会导致栈溢出错误;...
2022-03-02 21:48:30
813
原创 javaScript力扣刷题——简单栈
20. 有效的括号155. 最小栈232. 用栈实现队列496. 下一个更大元素 I682. 棒球比赛225. 用队列实现栈
2021-12-29 15:35:37
497
原创 javaScript力扣刷题——简单哈希表(一)
1. 两数之和771. 宝石与石头136. 只出现一次的数字202. 快乐数463. 岛屿的周长219. 存在重复元素 II217. 存在重复元素349. 两个数组的交集242. 有效的字母异位词
2021-12-22 15:22:03
233
原创 javaScript力扣刷题——简单链表(三)
83. 删除排序链表中的重复元素自己想的笨蛋方法,新建一个链表,head循环不一样的记录到新链表。var deleteDuplicates = function(head) { if(head==null||head.next==null){return head;} let node = new ListNode(null); let p = node; while(head!=null){ if(p.val !=head.val){p.next
2021-11-24 15:45:52
586
原创 javaScript力扣刷题——简单链表(二)
141. 环形链表快慢指针,若有循环两指针终会相遇。注意!!!考虑好next在哪,条件是什么,是否有下一个节点。var hasCycle = function(head) { if(head==null||head.next==null){return false;} let fast = head.next; let slow = head; while(slow!=fast){ if(fast==null||fast.next==null){
2021-11-22 15:52:49
784
原创 javaScript力扣刷题——简单链表(一)
21. 合并两个有序链表第一次看链表的题,完全不知道链表该如何表示。即使题目给的是数组形式,但是不可以使用数组进行排序的。因为格式是链表。非递归方法/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next)
2021-11-13 11:22:33
1124
原创 javaScript力扣刷题——简单数组(三)
88. 合并两个有序数组splice()方法向/从数组添加/删除项目,并返回删除的项目。可以添加。var merge = function(nums1, m, nums2, n) { nums1.splice(m,n,...nums2); nums1.sort(function(a,b){return a-b});};splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。var merge = function(nums1, ..
2021-11-08 17:22:45
554
原创 javaScript力扣刷题——数组(二)
66. 加一第一次忘记考虑,只有[9]->[1,0]的情况。var plusOne = function(digits) { var len = digits.length-1; for(let i =len;i>=0;i--){ digits[i]++; if(digits[i]==10){ digits[i]=0; if(i==0){ .
2021-11-01 21:32:07
437
原创 javaScript力扣刷题——数组(一)
刷题第一天刷题顺序是频率,b站小姐姐提供1. 两数之和我的答案var twoSum = function(nums, target) { for(let i= 0;i<nums.length;i++){ for(let j=i+1;j<nums.length;j++){ if(nums[i]+nums[j]==target) {return [i,j]} } }};暴力求解
2021-10-26 21:30:07
244
原创 js基础数据结构(插入、删除、是否存在)
1.push()方法会将元素插入到数组的末尾,而unshift()方法会将元素插入到数组的开头。2.pop()会从数组的末尾移除一个元素,而shift()会从数组的开头移除一个元素。3.splice()可以让我们从数组中的任意位置连续删除任意数量的元素。splice(a,b)的第一个参数代表从数组中的哪个索引开始移除元素,而第二个参数表示要从数组中的这个位置开始删除多少个元素。splice(a,b,c)在a的位置添加c元素(一个或多个,间隔)4.slice()不会修改...
2021-10-14 17:17:42
217
原创 调试代码常用
有许多方法可以与console一起使用来输出消息。1.控制台log(输出内容)warnclear()清除控制台2.使用typeof检查变量的数据结构或类型。console.log(typeof 你想查看类型的内容);JavaScript 有六种原始(不可变)数据类型:Boolean、Null、Undefined、Number、String和Symbol(ES6 中新增的),和一种可变的数据类型:Object。 注意:在 JavaScript 中,数组在本质...
2021-10-13 17:40:12
191
原创 Promise 构造函数
Promise基础用法constmyPromise = new Promise((resolve,reject)=>{if(condition){resolve();}else{reject();}}) ;makeServerRequest.then(result=>{console.log(result);});makeServe...
2021-09-28 21:36:59
97
原创 es6构造函数
es6中class语法只是简单地替换了构造函数constructor的写法:class SpaceShuttle { constructor(targetPlanet) { this.targetPlanet = targetPlanet; }}const zeus = new SpaceShuttle('Jupiter');应该注意class关键字声明了一个新的函数了解构造函数JS 中构造函数和普通函数的区别_灵灵7的博客-优快云博客_构造函数1、构...
2021-09-17 16:42:40
113
原创 rest 操作符与函数参数一起使用,spread运算符展开数组项
ES6 推出了用于函数参数的rest 操作符帮助我们创建更加灵活的函数。 rest 操作符可以用于创建有一个变量来接受多个参数的函数。 这些参数被储存在一个可以在函数内部读取的数组中。请看以下代码:function howMany(...args) { return "You have passed " + args.length + " arguments.";}console.log(howMany(0, 1, 2));console.log(howMany("string", n.
2021-09-17 15:45:40
209
原创 JavaScript 里箭头函数
在 JavaScript 里,我们会经常遇到不需要给函数命名的情况,尤其是在需要将一个函数作为参数传给另外一个函数的时候。 这时,我们会创建匿名函数。 因为这些函数不会在其他地方复用,所以我们不需要给它们命名。当不需要函数体,只返回一个值的时候,箭头函数允许你省略return关键字和外面的大括号。 这样就可以将一个简单的函数简化成一个单行语句。const myFunc = () => "value";这段代码默认会返回字符串value。编写带参数的箭头函数和一般的函数一样,你...
2021-09-17 11:22:57
123
原创 var 、let 、const
之前一直没注意var和let区别,一直都是混用的,看到了个解释。使用 var 关键字来声明变量,会出现重复声明导致变量被覆盖却不会报错的问题。var camper = 'James';var camper = 'David';console.log(camper);这里控制台将显示字符串David。在上面的代码中,camper变量的初始值为James,然后又被覆盖成了David。 在小型的应用中,你可能不会遇到这样的问题。但是当你的代码规模变得更加庞大的时候,就可能会在不经意...
2021-09-17 10:40:19
99
tutorial-sno.pptx
2021-05-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人