最长回文子串

摘要: /** * @param {string} s * @return {string} */ var longestPalindrome = function (s) { let backTextStr = '' // 判断回文 function backText (s, left, right) { 阅读全文
posted @ 2022-01-06 07:20 chinesedon007 阅读(20) 评论(0) 推荐(0)

【leetCode】无重复字符的最长子串

摘要: 题目地址 3. 无重复字符的最长子串 - 力扣(LeetCode) (leetcode-cn.com) 解题思路一: 从字符串第一位开始计算,记录所有子集中,计算最长的那个子串长度; 最主要是拿到所有子集,可以用两个循环做,外层的for语句记录当前循环起始位置1,2,3,4.......n;内层的就 阅读全文
posted @ 2021-12-15 22:48 chinesedon007 阅读(57) 评论(0) 推荐(0)

【每日一题】数组全排列

摘要: /** * 描述:求一个无重复数组的全排列数组,类似数学中的排列组合 * 解题思路:递归调用,第一个数的情况是C1/n 第二个数是C1/n-1... * @param {剩余数组} surplusArr * @param {当前数组} curentArr * @param {全部数据} allArr 阅读全文
posted @ 2021-09-04 14:11 chinesedon007 阅读(30) 评论(0) 推荐(0)

选择排序

摘要: /** * @function 选择排序 * @desc 遍历数组,设置最小值的索引为 0,如果取出的值比当前最小值小,就替换最小值索引,遍历完成后,将第一个元素和最小值索引上的值交换。如上操作后,第一个元素就是数组中的最小值,下次遍历就可以从索引 1 开始重复上述操作。 * 概括:取出每一次的最小 阅读全文
posted @ 2021-09-04 11:58 chinesedon007 阅读(30) 评论(0) 推荐(0)

插入排序

摘要: /** * @function 插入排序 * @desc 第一个元素默认是已排序元素,取出下一个元素和当前元素比较,如果当前元素大就交换位置。那么此时第一个元素就是当前的最小数,所以下次取出操作从第三个元素开始,向前对比,重复之前的操作。 * 概括:把前面的元素当成一个数组,以第一个为基准开始排序, 阅读全文
posted @ 2021-09-04 11:15 chinesedon007 阅读(46) 评论(0) 推荐(0)

冒泡排序

摘要: /** * 原理:每个元素与下一个元素对比,对比n次,每次取出最小的,放在最前面 * 时间复杂度:n + (n-1) + (n-2) + ... + 1 = O(n * n) * @param {原数组} arr * @returns 排序后的数组 */ function bubble (arr) 阅读全文
posted @ 2021-09-04 10:35 chinesedon007 阅读(31) 评论(0) 推荐(0)

MVVM的基本实现

摘要: 测试页面 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" conten 阅读全文
posted @ 2021-08-22 21:58 chinesedon007 阅读(87) 评论(0) 推荐(0)

vuex 简易版实现

摘要: /** * 1 实现插件,挂载$store * 2 实现store */ let Vue; class Store { constructor(options) { // state响应式处理 // 外部访问: this.$store.state.*** // 第一种写法 // this.state 阅读全文
posted @ 2021-08-22 11:17 chinesedon007 阅读(73) 评论(0) 推荐(0)

vue-router1.x实现

摘要: /** * 1、实现并生命了全局注册的组件,分别是router-link、router-view * 2、实现install: this.$router.push() */ /** * vue插件怎么写 * 1)function/对象 * 2)要求必须又一个install方法 */ let Vue; 阅读全文
posted @ 2021-08-21 21:24 chinesedon007 阅读(49) 评论(0) 推荐(0)

JS发布订阅者模式

摘要: class Emit { constructor() { this.listening = {} // 监听列表 } // 发布 $emit (key, fn) { (this.listening[key] || (this.listening[key] = [])).push(fn) } // 订 阅读全文
posted @ 2021-08-21 18:30 chinesedon007 阅读(56) 评论(0) 推荐(0)