- 博客(57)
- 收藏
- 关注
转载 leetCode:746. 使用最小花费爬楼梯
原文地址:http://www.iming.top/details/7定义一个dp数组, dp[i] 表示踩到 第 i 个台阶要花费的值, 注意,一定要踩到。所有到这个台阶的最小花费: dp[i] =min( dp[i-2] + i, dp[i-1] + i)代码如下:function minCostClimbingStairs(cost: number[]): number { if (cost.length === 2) { return cost[0] ...
2021-03-27 19:09:42 209
转载 leetCode: 面试题 17.16. 按摩师
原文地址:http://www.iming.top/details/6分析如下:给定例子: 【1,2,3,4,5,6,7,8,9,0】里面是什么不重要。设定一个含有10位的数组,每一位代表的是到当前为止最长的的时间dp[0] = nums[0]dp[1] = Math.max(nums[0], nums[1])dp[2] = Math.max(dp[0] + nums[2], dp[1]) 如果下标2被选中,那么前面一个绝对不会被选中,因此,假设本次选中了,和上一次不选...
2021-03-27 19:06:24 186
转载 leetCode: 322. 零钱兑换
给你 k 种面值的硬币,面值分别为 c1, c2 ... ck,每种硬币的数量无限再给一个总金额 amount,问你最少需要几枚硬币凑出这个金额,如果不可能凑出,算法返回 -1 。function coinChange(coins, amount) { const dp = [] for (let i = 0; i <= amount; i++) { dp.push(Infinity) } dp[0] = 0 for (let i
2021-03-27 19:02:42 171
原创 js实现插入排序
发现菜鸟教程的那个图片很明了的讲述了图片来源:https://github.com/hustcc/JS-Sorting-Algorithm/blob/master/3.insertionSort.md然后可以写代码了function insert(arr){ var current; for(let i=1;i<arr.length;i++){ ...
2019-09-22 19:29:48 190
原创 js实现快速排序
快速排序的大致流程如下,以数组 12,6,23,11,8,7首先选一个基数,然后数组的每个数都和他对比,打的放在他的后面,小的放在他的前面,取第一个数字为基数base=1212 6 23 11 8 7 L R 首先是第一个数作为基数,这个是个坑来的,等等要补,现在丛后往前遍历,7<ba...
2019-09-21 22:48:08 228
原创 js实现冒泡排序
冒泡排序就是相邻的两个数进行比较,将大的放在后面,下的放在前面。换句话说就是,前面的数比后面的数大,就交换位置,否则不换位置,图解:以数组 51 56 45 5 86 54 第一趟排序第一次:51和56比较,不交换位置51 56 45 5 86 54 第二次:56和45比较,交换位置51 45 56...
2019-09-20 12:42:39 206
原创 js跨域方式总结
jsonpjsonp的原理是借助<script>标签的跨域属性,可以不受限制的从其他地方拿到数据,一次同时<img>也是这样,比如我们直接拿到一个图片的链接就可以访问这个资源。document.domain这个主要是用在拥有同样的父域名,子域名不同的情况,如a.csdn.com ,b.csdn.com ,c.csdn.com等情况window...
2019-08-23 15:20:48 231
原创 js重写原型问题
首先先引入一道题function A() {this.do=function() {return ‘foo’;};}A.prototype=function() {this.do=function() {return ‘bar’};};var x=new A().do();x的值是:这里有四个选项bar报错fooundefined...
2019-08-23 14:46:27 318
原创 前端常见考试知识点笔记
原始类型:undefined与null的区别Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。 var a; console.log(a) // undefined console.log(null...
2019-08-02 17:04:05 592
原创 react实现登陆思维(基于cookie)
一,使用插件yarn add react-cookies关于他的使用https://www.npmjs.com/package/react-cookiesimport cookie from 'react-cookies' //引用cookie.save(key,value,{path:"/"}) //设置cookie,第三个参数的意思是所有页面都能用这个coo...
2019-07-31 14:42:57 1265
原创 props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react
错误信息:props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information意思是dangerouslySetInnerHTML的格式写...
2019-07-30 16:20:13 2795 1
原创 React将富文本提取的html字符串正常显示到页面上
在数据库中我们提取出来的文本是以一串html字符串,会原封不动的包含标签显示到页面上,这个时候要用到dangerouslySetInnerHTML来解决问题dangerouslySetInnerHTML格式不要写错...
2019-07-30 16:17:26 8942
原创 React-redux使用的步骤总结
React-redux的学习也有一定的时间了,非常好用,就是容易忘记用法,本文将总结他的用法。以备不时之需一、使用前的准备1. 使用React-redux需要安装redux,react-reduxyarn addredux,react-redux2. 什么都不说,先把文件的结构建立好,使用redux 的时候,我们会建立如下文件:3. 记住他们之间的关系in...
2019-07-29 08:59:29 520
原创 ES6中对class的理解(一)
自己的理解,有错误还望指出: 在学习JavaScript的时候,我们知道他是没有类(class)的写法的,所以我们需要类的时候一般是使用构造函数来模拟类的写法。在ES6中提供了class写法,在ES5中是没有的,有时候我们在写一个构造函数的时候,使用的是function来写一个构造函数,但是这种函数式编程的方式,很难直观的发现构造函数。如下: 在ES5中,我们写一...
2019-07-24 20:13:19 372
原创 vue的Object.freeze()
在vue中使用Object.freeze(),这会阻止修改现有的属性<body><div id="app"><p>{{obj.foo}}</p></div><script> var obj = { foo:'bar' } Object.freeze(obj) var...
2019-07-06 15:45:29 1136
原创 vue的组件
1. 基本的新建组件//新建一个组件Vue.component(todo-item,{ template: '<li>这是个待办项</li>'})/*使用组件*/<div id='app'> <todo-item></todo-item> </div>2. 带特性prop的组件...
2019-07-06 15:42:27 221
原创 3、webpack4.0 babel-preset-env将ES6转ES5
1.这里利用的是bable来进行转化安装babel-loader @babel/core @babel/preset-envyarn addbabel-loader @babel/core @babel/preset-env -D在webpack中配置如下:在module中的规则rules里面要使用 babel-loader,如下module:{ ...
2019-05-15 00:24:26 2862
原创 2、webpack4.0 webpack-dev-server以及html模板
1、webpack-dev-server当我们在写好文件的时候,index.html只能手动打开来看效果,所以这里介绍使用webpack-dev-server写一个服务,在浏览器中打开localhost:8080形式 ,这样就比较方便安装webpack-dev-server,打开项目的终端yarn add webpack-dev-server -D //开发环境中才会...
2019-05-12 16:59:02 1247
原创 yarn的安装与使用
https://yarnpkg.com/lang/zh-hans/docs/install/#windows-stable 这里会告诉你怎么安装https://yarnpkg.com/zh-Hans/docs/usage 这里告诉你怎么使用https://www.cnblogs.com/cxscode/p/8371797.html 这里告诉你加速的方法...
2019-05-12 14:40:26 346
原创 1、webpack4.0 基础配置
1.webpack环境的搭建npm install webpack webpack -D //开发环境受用我使用的代码编辑工具是VScode,安装coderunner插件很方便2.webpack的默认打包(1).简历项目文件夹(2).项目目录结构 |-src ----index.js |-index.html(3).初始...
2019-05-12 09:53:44 229
原创 ES6学习笔记(14)--模块化(export,import)
1.export与import(输出与输入)建立两个js文件(first.js 和second.js)//first.jsexport name = 'ymwow';//second.jsimport {{name}} from 'second' //这样就可以用了console.log(name)今天时间太赶,后面再补充!...
2019-05-11 22:03:50 158
原创 ES6学习笔记(13)--class类的使用
引言:在ES5中我们接触的是模拟类的写法,ES6给我们提供了class类的写法,就不用模拟了开始学习1.声明一个类//创建phone类方法有 name和priceclass Phone{ name(val){ console.log(val) return val; } price(val){ return v...
2019-05-11 21:39:45 185
转载 chrome启用es6语法支持
输入:chrome://flags/选择:启用实验性 JavaScript Mac, Windows, Linux, Chrome OS, Android原文: https://blog.csdn.net/hutianyou123/article/details/78164510
2019-05-11 21:23:58 3532
原创 ES6学习笔记(12)--promise的使用
引言:promise的出现就是为了解决回调地狱的问题(我瞎掰的)关于回调地狱,不懂自行百度。这里我大概讲一下回调地狱:函数作为参数层层嵌套开始学习:这里申明三个函数No1No2No3var status = 1;function No1(resolve,reject){ if(status ==1){ console.log('这是第一个函数')...
2019-05-11 21:08:03 202
原创 fatal: repository 'https://github.com/cos60/xxx.git/' not found
git push,这里的意思就是找不到仓库,应该是这个仓库被删掉了,或是改名字了,解决方法就是取Github上面建立一个仓库,仓库名为xxx(与报错那个对应的仓库),然后在 git push...
2019-05-10 19:57:27 2777
原创 数据结构(4) JS实现双向链表
关于思想,上一篇大概有讲到,写法也类似上一篇:数据结构(3) JS实现单链表function doubleList(){ let head = null; let tail = null let Length = 0; function Node(value){ this.value = value; this.prev =...
2019-05-10 19:33:48 268
原创 数据结构(3) JS实现单链表
链表有单链表和双链表,概念可百度,这里主要是以js的形式实现。以下是我大概实现的思路我们先定义一个类,说明一下这个链表的数据结构所以我们需要定义节点,节点里面有value(我们存储的值)以及next(指向下个一节点)function node(value){ this.value = value; this.next = null; //在没有下一...
2019-05-10 12:31:19 212
原创 关于express的回答
项目结构就是建立app.js 和 index.html 然后安装一个expressapp.jsvar express = require('express');var app = express();//这里就是跨域用的,因为你用ajax请求的话是需要跨域的,因为不是在同一个域里,不懂的话可以百度一下,反正这里不理app.all('*', function (req,...
2019-05-09 23:57:14 299 3
原创 ES6学习笔记(11)--ES6对象
引言:对象这里比较简单,但是还是记一下笔记吧1.对象ES5这么写var a = 1;var b = 2;var obj = { a:a, b:b}但是ES6可以这么写var a = 1;var b = 2;var obj = { a, b}2.key值构建可用在未确定key的情况let key = 'name...
2019-05-07 19:50:07 183
原创 数据结构(2) JS实现顺序表的操作
线性表的定义:线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,因为数组也是通过线性表存储的,所以这里用数组来写let List = [ { message:'第一个数据元素' }, { message:'第二个数据元素' }, { message:'第三个数据元素' },...
2019-05-07 10:53:52 420
原创 数据结构(1) 时间复杂度
引言:时间复杂度是判断一个程序算法是否可行的方法,在多个同一个问题的算法中,可以通过时间复杂度来挑选优秀的算法1、需要理解要点:问题的规模和语句频度,数量级O()问题的规模:问题的规模指的是算法求解问题输入量的多少,可以用n表示语句频度:一条语句重复执行的次数在数据结构中,把一个算法的时间复杂度用数量级'O()'来表示,它不是一个确定值,只是一个数量级,例如1,n,n^2等2....
2019-05-07 00:09:26 1130
原创 ES6学习笔记(10)--数组的多种遍历方法
引言:在我们的编程当中,很多小伙伴可能只知道for循环遍历数组,这里我就列出来几种数组的遍历方法,有新发现会补充开始学习1.forlet arr = ['web','c++','java','javascript','python','vue','go'];for(let i=0;i<arr.length;i++){ console.log(arr[i]);}...
2019-05-06 23:28:28 1543 2
原创 ES6学习笔记(9)--in的用法
引言:不写引言了,不知道说些啥了,这个in就单独做笔记用法:1.对象的判断判断对象里面有没有这个变量或者方法let obj = { a:2, b:5, c:6}console.log('a' in obj);2.数组的判断主要判断数组的下标有没有值,是不是为空,一下两个例子说明let arr = ['web','c++','java...
2019-05-06 22:01:23 2073 1
原创 ES6学习笔记(8)--箭头函数的使用
引言:谈不上说写了ES5几年,但是在ES6中使用的箭头函数看起来就是比ES5爽,然后学习ES6的语法,后期我的编程当中会一直使用ES6,这样才可以进步开始学习1.以下是ES5的函数写法function name(firstName,lastName){ return firstName+' '+ lastName;} console.log(name('yang','...
2019-05-05 21:45:52 722
原创 ES6学习笔记(7)--数组的相关操作
引言:ES6提供了一些对数组的操作,记此笔记开始学习1.json转数组 (Array.from)let json = { '0':'a', '1':'b', '2':'c', '3':'d', length:4}console.log(Array.from(json ))2.数组循环(forof)只取值let arr =...
2019-05-05 20:25:58 385
原创 ES6学习笔记(6)--数字的操作
引言:数字操作不是ES6新有的。本学习笔记将会涉及到,二进制、八进制、十六进制的表示;判断数字的类型(整形、浮点型、NaN、最大/最小安全整数),以及类型的转换开始学习1.二进制、八进制、十六进制的表示let a= 0b101010; //以0b开头,不区分大小写let b = 0o666; //以0o开头,不区分大小写let c = 0xABC; //以0...
2019-05-05 16:42:19 283
原创 ES6学习笔记(5)--字符串模板
引言:在ES6中提供了一个字符串模板,这个笔记中将列出ES5和ES6对字符串的操作。开始学习1.ES5对字符串的拼接var str1 = 'tony';var str2 = "hello!"+str1+",welcome to my home"console.log(str2);2.ES6对字符串的拼接let str1 = 'tony';let str2 = ...
2019-05-04 22:25:52 264
原创 ES6学习笔记(4)--扩展运算符和rest运算符
引言:扩展运算符和rest运算符就是为了解决参数未知或者对象数组未知的编程,增强代码的健壮性与简洁开始学习1.对象扩展运算符(...)fun()里面的参数个数未知,这里用(...)标识,arg为参数数组,如下:function fun(...arg){ console.log(arg[0]); console.log(arg[1]); console.lo...
2019-05-04 16:24:07 207
原创 ES6学习笔记(3)--变量的解构赋值
引言:ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。解构赋值在实际开发中可以大量减少我们的代码量,并且让我们的程序结构更清晰----技术胖1.数组的解构赋值一般数组的解构let [a,c,d] = [1,2,3];console.log(a);console.log(b);console.log(c);控制台输出:这里要求要求等号两边的...
2019-05-04 09:45:52 226
原创 ES6学习笔记(2)--ES6的新的声明方式
引言:ES6提出了新的声明方式,一起来学习一下开始学习ES6中新的声明方式有如下几个var //声明一个全局变量 let //声明一个局部变量const //声明一个常量1)var与let的区别在程序当中var是定义一个全局变量,也就会作用域是全局的,而let的作用于在这个对象本身,超出则无法使用,见如下代码for(var i=0;i<5...
2019-05-04 08:48:22 225
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人