- 博客(55)
- 资源 (8)
- 收藏
- 关注
原创 浅浅地学习动态规划...
在现实生活中,有一类活动的过程,由于它的特殊性,可将过程分成若干个互相联系的阶段,在它的每一阶段都需要作出决策,从而使整个过程达到最好的活动效果。因此各个阶段决策的选取不能任意确定,它依赖于当前面临的状态,又影响以后的发展。对于这种问题,决策依赖当前的状态,又影响以后的发展。那么把复杂的问题分成一个个子问题,子问题解决并保存结果的求解复杂问题的方法称为动态规划。
2022-10-30 17:53:35
898
原创 【Ant Design】下拉列表Select 、日期选择框DatePicker等跟随滚动条上下移动解决方案
属性不会更新,因此组件会随着滚动条上下移动。当滚动条滚动时,初始化计算的。
2022-09-16 16:13:33
1514
原创 浅谈JavaScript中的forEach、for in和for of循环的基本用法和区别。
forEach、for in和for of的基本用法和区别。
2022-06-27 21:39:35
488
原创 回顾TCP/IP协议
OSI 7层参考模型应用层表示层会话层传输控制层网络层数据链路层物理层实际物理实现应用、表示和会话合并为应用层。应用层传输层网络层数据链路层物理层TCP面向连接的、可靠的。三次握手–> 数据传输 --> 四次分手三次握手Client -> syn -> ServerServer -> syn + ack -> ClientClient -> ack -> Server双方确认自己的输入输出是没有问题的。
2022-03-28 12:03:48
2826
原创 [leetcode] 200.岛屿数量
代码DFS/** * @param {character[][]} grid * @return {number} */var numIslands = function(grid) { let count = 0 for(let i = 0; i < grid.length; i++) { for(let j = 0; j < grid[0].length; j++) { if(grid[i][j] === '1') {
2022-03-10 16:28:10
300
原创 [leetcode] 1539. 第 k 个缺失的正整数
代码法一:枚举法将正确的数组与实际的数组比较,易得实际数组arr[i]大于真实数组p。arr[i] > p时,说明存在缺失的整数,此时p++,并记录当前缺失的元素p。等待相逢。arr[i] === p时,说明此arr[i]不是缺失的整数。当缺失的元素p的个数达到k时,结束循环。/** * @param {number[]} arr * @param {number} k * @return {number} */var findKthPositive = function(a
2022-03-08 12:00:45
269
原创 [leetcode] 198.打家劫舍
代码/** * @param {number[]} nums * @return {number} */var rob = function(nums) { // F(num) = Math.max(F(num - 1), F(num -2) + A(num)) // 特殊情况 if(nums.length <= 2) { return Math.max(nums[0], nums[1] || 0) } // 遍历 let re
2022-03-07 16:42:03
240
原创 [leetcode] 76. 最小覆盖子串
代码第一次/** * @param {string} s * @param {string} t * @return {string} */var minWindow = function(s, t) { let l = 0 let r = 0 let isRight = true let maxStr = '' let maxNum = 0 const tMapInitial = new Map() const tMap = new M
2022-03-04 23:45:47
267
原创 [leetcode] 3. 无重复字符的最长子串
代码方法一/** * @param {string} s * @return {number} */var lengthOfLongestSubstring = function(s) { let maxLength = 0 for(let i = 0; i < s.length; i++) { let box = new Set() let boxMaxLength = 0 for(let j = i; j < s.l
2022-03-03 11:50:45
443
原创 [leetcode] 1.两数之和
代码第一次/** * @param {number[]} nums * @param {number} target * @return {number[]} */var twoSum = function(nums, target) { const map = new Map() for(let i = 0; i < nums.length; i++) { // 登记 map.set(nums[i], i) // 边登记边找媳妇
2022-03-02 21:37:08
167
原创 [leetcode] 21. 合并两个有序链表
代码方法一:规规矩矩/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } *//** * @param {ListNode} list1 * @param {ListNode} list2 *
2022-03-01 23:00:51
108
原创 [leetcode] 349. 两个数组的交集
代码第一次/** * @param {number[]} nums1 * @param {number[]} nums2 * @return {number[]} */var intersection = function(nums1, nums2) { return [...new Set( [...new Set(nums1)].filter( item => nums2.includes(item) )
2022-03-01 17:30:03
157
原创 [leetcode] 141. 环形链表
代码方法一:快跑与慢跑现实中,跑步很快的人与跑步很慢的人在同时同一起点出发,跑的快的人一定会比跑的慢的人快一圈,此算法就是模拟这个场景。/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } *//** * @param {ListNode} head * @return {boolean} */va
2022-02-28 14:51:56
169
原创 [leetcode] 83.删除排序链表中的重复元素
代码第一次/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } *//** * le83 * @param {ListNode} head * @return {ListNode} */ v
2022-02-28 10:58:54
200
原创 [leetcode] 2. 两数相加
/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } *//** * @param {ListNode} l1 * @param {ListNode} l2 * @return {ListNode}
2022-02-27 16:59:15
322
原创 [leetcode] 206.反转链表
代码/** * @param {ListNode} head * @return {ListNode} */var reverseList = function (head) { let p1 = head; let p2 = null; while(p1) { const tmp = p1.next // 保存p1.next p1.next = p2 p2 = p1 p1 = tmp }
2022-02-24 18:01:48
277
原创 [leetcode] 20. 有效的括号
/** * LeetCode 20 * @param {string} s * @return {boolean} */var isValid = function (s) { // 字符串长度为奇数 if (s.length % 2 === 1) { return false } let stack = [] // 初始化左边括号 const leftBracket = ['(', '[', '{'] for (let i
2022-02-22 22:28:39
238
原创 趣谈js的六种继承方式
注:本文内容知识来源 https://www.cnblogs.com/ranyonsue/p/11201730.html故事一原型链继承子类构造函数.prototype = new 父类构造函数缺点子类实例无法像父类构造函数传参。子类实例共享父类实例的属性,且父类原型上的属性是共用的。只能继承一个父类。思考子类实例:我能通过隐式原型__proto__拿到父类实例的属性,但是我俩是共用相同的属性哎!虽然他是我爸,但是…而且,别人java都允许有干爹(接口),为啥我没有?我:得加钱.
2022-01-07 12:02:10
284
原创 mongoose报错:Error: `useCreateIndex` is an invalid option.
报错信息if (VALID_OPTIONS.indexOf(key) === -1) throw new Error(`\`${key}\` is an invalid option.`); ^Error: `useCreateIndex` is an invalid option.at Mongoose.set ... 此处省略一亿字解决方案useCreateIndex is no longer necessa
2021-12-25 16:32:52
1495
4
原创 github镜像
替换域名原命令$ git clone https://github.com/vuejs/vue-devtools修改后$ git clone https://github.com**.cnpmjs.org**/vuejs/vue-devtools
2021-10-18 16:49:22
532
CSS3 translate实现轮播图丝滑般翻页,setInterval实现定时器等常见操作。
2021-08-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人