自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 查找字符串中第一个唯一的字符

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。通过hash 和map/** * @param {string} s * @return {number} */var firstUniqChar = function(s) { let map = new Map(); let hash = {}; //记录字符串 for(let i =0; i<s.length;i++){ if(!hash[s[i]]){

2020-12-23 10:32:14 563

原创 最小爬楼梯

数组的每个索引作为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 costi。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/min-cost-climbing-stairs著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出

2020-12-21 15:15:16 158

原创 数组中重复的数字 for和for of的效率比较

在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题解通过解题 for of 的效率没有for 的效率高/** * @p

2020-12-17 14:45:32 327

原创 2020-12-04 最长无重复子串长度

给定一个数组arr,返回arr的最长无的重复子串的长度(无重复指的是所有数字都不相同)。遍历数组,将不重复的数组通过map 记录数值和下标,当重复时候,比较max(最长无重复长度)与map 的长度,取最大值,将index 重新定位到出现重复数字的下一位/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param arr int整型一维数组 the array * @return int整型 */export function maxLength

2020-12-04 17:14:24 359

原创 等高、双飞翼、圣杯、flex实现中间自适应、两边固定的布局

等高布局通过margin 和padding实现父盒子设置溢出隐藏子盒子 设置元素为float , 设置margin-bottom 为-2000px (为负值,此时父元素不撑开) 设置padding-bottom 的值为2000px,相抵,当改盒子的里面东西添加时候,父盒子就会撑开,同时,所有的子盒子溢出的部分也会显示,出现等高效果<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"&

2020-12-03 10:41:47 311

原创 2020-12-03 原型问题和New对象问题

var F=function(){};Object.prototype.a=function(){};Function.prototype .b=function(){};var f=new F();结果f 取得到a ,但是得不到b因为F() 是一个函数,继承了 Function的原型,可以取到b,但是new F() 返回的是一个对象,只能继承Object 的原型...

2020-12-03 08:36:11 113

原创 typescript 数据类型整理

布尔值booleanlet isDone: boolean = false;数字number 支持十进制、十六进制、二进制、八进制let decLiteral: number = 6;let hexLiteral: number = 0xf00d;let binaryLiteral: number = 0b1010;let octalLiteral: number = 0o744;字符串string和其他语言相似可以使用模板字符串、用反引号包围`` 可以使用${} 嵌入表达式

2020-12-02 14:39:56 115

原创 2020-12-02 数组原地去重

给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。通过双指针操作,将不重复的数组移动到前面/** * @par

2020-12-02 09:43:47 1231

原创 2020-12-1 二分查找

请实现有重复数字的有序数组的二分查找。输出在数组中第一个大于等于查找值的位置,如果数组中不存在这样的数,则输出数组长度加一。注意: 短路public class Solution { /** * 二分查找 * @param n int整型 数组长度 * @param v int整型 查找值 * @param a int整型一维数组 有序数组 * @return int整型 */ public int upper_bound_

2020-12-01 09:06:19 154

原创 HTML5 CSS3 知识总结

HTML 与XHTML的区别1、DOCTYPE文档与编码2、大小写 XHTML不允许大写标签3、单标签要加结束 HTML 但是在XHTML中必须有4、属性值必须加引号5、属性布尔值,在HTML中可以true可以直接写名字,但是在XHTML中不可以​ 如checked = “checked” 在HTML可以直接写checked6、图片中在XHTML中必须加 alt=“ ”strong和 b 、em 和 i表现形态, 文本加粗 和 文本倾斜stron

2020-11-30 14:08:33 271

原创 ES6 部分知识箭头函数 promise

ES6 部分知识箭头函数const ccc = () => {}const sum = (num1,num2) => {return num1+num2}const sum = num1 => { return num*num } //一个参数小括号可以省略const mul = (num1,num2) => num1*num2; //之后一行代码值return可以省略,自动返回箭头函数的this引用的最近的作用域中的this,向外层的作用域中,一层层查找this,直到

2020-11-30 14:07:44 426

原创 axios 全局配置 封装 拦截器

axiosnpm i axios --saveaxios({ url: 'http://localhost:3000/dj/program?rid=336355127', method: 'get'}).then(res => { console.log(res);})axios({ url: 'http://localhost:3000/search', // 专门针对get请求的参数拼接 params:{ keywords: '海阔天空' },

2020-11-30 14:06:57 195

原创 Vuex 状态管理模式 单页面、多页面

Vuex 状态管理模式采用集中式存储管理应用所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化多个组件共享的变量全部存储在一个对象里面放在顶层的Vue实例中,其他组件可以使用管理什么状态用户的登录状态、用户的名称、用户的头像、地理位置商品的收藏、购物车的物品单界面状态管理state: 就是状态,(可以当做data中的属性)View : 视图层,可以针对State 的变化,显示不同的信息Actions: 这里面是用户的个中操作,点击,出入等,会导致状态的改变#merma

2020-11-30 14:05:37 905

原创 vue-router 动态路由 懒加载 导航守卫

图片显示不出来见相应的补充中路由路由:通过互联网把信息从原地址传输到目的地址的活动 — 维基百科前端渲染、后端渲染早期 整个HTML页面是由服务器来渲染的jsp: java server page图见:路由 补充图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8aD7RHmr-1606716128749)(C:\Users\ZR\AppData\Roaming\Typora\typora-user-images\image-2020112314113955

2020-11-30 14:02:23 685

原创 插槽 slot 具名插槽 作用域插槽

插槽 slot组件的插槽让封装好的组件更具扩展性让使用则可以决定组件内部的一些内容到底展示什么例如: 每个页面都有导航栏,则封装成一个插件,可以在多个页面中复用抽取共有的可以为插槽设置默认值slot 在组件中开辟一块可替换的位置,当父组件使用组件标签时候,将标签里面的标签替换掉组件中的slot中的标签<div id="app"> <cpn> <button>anjiu</button></cpn> <cpn>

2020-11-30 14:00:18 174

原创 webpack 打包

注意:webpack配置过程中,版本过新会出现问题,所以注意版本 webpackwebpack 是现代的javascript应用的静态模块打包工具模块打包生成浏览器可以识别的文件前端模块化:ES6 浏览器可以识别commonJS AMD CMD不能识别,通过webpack 可以打包处理成浏览器可以识别的代码并且能处理模块间的依赖关系把CSS、图片、json 文件都可以当做模块来使用grunt/gulp 核心是Task 前端自动化任务管理工具没有用到模块化工具,强调前端流程的自动化w

2020-11-30 13:59:16 228

原创 CommonJS ES6 模块化开发

模块化开发早期通过创建对象,返回模块的出口var moduleA = (function () { var obj={}; obj.flag = true; obj.myFunc = function (info) { console.log(info); } return obj;})();//使用if(moduleA.flag){ console.log("sdsds");}moduleA.myFunc("sdsd");CommonJS、 AMD、C

2020-11-30 13:57:39 111

原创 Vue组件 组件之间的传递

父传子props驼峰问题:props 对象名使用驼峰式的是时候,在父组件绑定时候,v-bind: 不支持驼峰式例如cMmoves 不可以要使用c-mmoves<div id="app"> <cpn :cmmoves="movies" :cmessage="message"></cpn> //cMmoves 驼峰式的时候 要使用c-mmoves ,不能直接使用cMmoves</div><template id="cpn1">

2020-11-30 13:56:50 149

原创 二进制实现加法

写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。通过二进制解决一般加减法通过异或^解决但是进位未出现问题通过& 情况判断是否进位,1&1 = 1 所以想左移动一位public class Solution { public int Add(int num1,int num2) { int result = 0; int result1= 0; do { result =

2020-11-30 09:31:18 369

原创 2020-11-17判断链表是否有环

题目描述判断给定的链表中是否有环如果有环,则跑的快的指针一定等追上跑的慢的指针,就是跑一圈之后追赶上慢的public class Solution { public boolean hasCycle(ListNode head) { if(head == null){ return false; } ListNode fast = head; ListNode slow = head;

2020-11-17 15:34:45 106

原创 2020-11-17反转链表

输入一个链表,反转链表后,输出新链表的表头。public class Solution { public ListNode ReverseList(ListNode head) { ListNode pre = null; ListNode p = null; while(head!=null){ p = head.next; head.next = pre; pre = hea

2020-11-17 15:22:36 69

原创 2020-11-04二叉树深度

二叉树的深度输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。题解1、递归深度遍历根节点若为空节点高度为0,非空遍历左节点和有节点,查看左右节点的高度,取最大值+1 则为该节点深度class Solution { public int maxDepth(TreeNode root) { if (root == null){ return 0; }

2020-11-04 10:16:45 92

原创 2020-10-30调整数组奇数偶数位置

题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。public class Solution { public void reOrderArray(int [] array) { boolean flag = true; for (int i = 0; i < array.length; i++) { for

2020-10-30 09:26:53 188

原创 2020-10-28 数值的整数次方

题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为01、直接调用Math方法 public double Power(double base, int exponent){ return Math.pow(base,exponent); }2、暴力解法,直接进行循环求解 public double Power(double base, int exponent){

2020-10-28 17:58:33 140

原创 2020-10-27 二进制数输出1个数

题目描述输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。输入:00000000000000000000000000001011输出:3题解: 采用n&(n-1) (n-1) 去掉了二进制最右边的数值,然后and操作,若不为0 则还含有1,继续直至为0public class Solution { public int NumberOf1(int n) { int count = 0; while (n!=0){

2020-10-27 09:41:27 151

原创 2020-10-27 递归 矩形覆盖

题目描述我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2n的大矩形,总共有多少种方法?比如n=3时,23的矩形块有3种覆盖方法题解:f[n] = f[n-1] + f[n-2],初始条件f[1] = 1, f[2] =2public class Solution { public int RectCover(int target) { if (target ==1 ||target == 2){ return

2020-10-27 09:27:04 104

原创 2020-10-26 斐波那契数列

斐波那契数列写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.0 <= n <= 100当数值较大时候会大数溢出,所以要对答案进行取模,而且使用递归的方法内存占用大,运行时间长,容易造成时间超时,所以采用动态规划的方法题解:Java:class Solution { public int fib(int n

2020-10-26 09:36:59 564

原创 栈实现队列

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。1、Javascript解法var stack1=[];var stack2 = [];function push(node){ // write code here stack1.push(node); }function pop(){ // write code here if (stack2.length===0){ while(stack

2020-10-22 10:49:17 150

原创 剑指Offer 重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。1、Java(1)先序遍历:根节点→左子树→右子树。中序遍历:左子树→根节点→右子树。后续遍历:左子树→右子树→根节点。先序遍历先根便利开始,所以第一个为根节点,然后将中序便利分割成左节点集合和右节点集合,然后通过递归创建二叉树。/** * Defin

2020-10-21 11:02:02 213

原创 剑指Offer解题 链表反序

剑指Offer题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList**题解:**1、javascript反序输出,就相当于先进后出,所以构建栈,将链表结构存入数组中,然后利用Javascipt中的API反序。/*function ListNode(x){ this.val = x; this.next = null;}*/function printListFromTailToHead(head){ // write code here va

2020-10-20 09:50:43 103

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除