自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 leetcode算法之数组篇(题88): 合并两个有序数组

题目:给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入: nums1 = [1,2,3,0,0,0], m = 3     ...

2018-11-24 16:24:13 202

原创 leetcode算法之数组篇(题66): 加一

题目:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]              输出: [1,2,4]              解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]    ...

2018-11-24 16:24:03 220

原创 leetcode算法之数组篇(题118): 杨辉三角

题目1:给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5           输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]解析:杨辉三角的特点是triangle[i][j] = triangle[i...

2018-11-24 16:23:41 239

原创 leetcode算法之数组篇(题53): 最大子序和

题目:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入:[-2,1,-3,4,-1,2,1,-5,4],           输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。解析:方法一:暴力法(时间效率O(N^2) )var maxSubArray = function(nums) {...

2018-11-24 13:55:15 244

原创 leetcode算法之数组篇(题35):搜索插入位置

题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5             输出: 2示例 2:输入: [1,3,5,6], 2             输出: 1示例 3:输入: [1,3,5,6], 7            ...

2018-11-24 13:18:07 199

原创 leetcode算法之数组篇(题27):移除元素

题目:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nums 中的前两...

2018-11-24 11:10:59 200

原创 leetcode算法之数组篇(题26):删除排序数组中的重复项

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组,并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。示例 2:给定 num...

2018-11-24 10:38:18 238

原创 leetcode算法题6:Z 字形变换

题目:将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。请你实现这个将字符串进行指定行数...

2018-11-23 22:06:24 501

原创 leetcode算法题5:最长回文子串

题目:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad" ;输出: "bab" 注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd" ;输出: "bb"解析:方法一:暴力法,先选出所有子字符串,再检验它是不是回文,方法的时间复杂度为O(n^3),空间复杂度为O(1)。 var longest...

2018-11-22 21:58:53 732

原创 leetcode算法题4: 寻找两个有序数组的中位数

题目:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3] nums2 = [2],  则中位数是 2.0示例 2:nums1 = [1, 2] nums2 = [3, 4] ,则中位数是...

2018-11-22 21:58:27 568

原创 ES6常用笔记整理

// 转换布尔类型 变量前加 !!!! 'string'// true// 转换数字类型 变量前加 + + '0.7'// 0.7// 常见数组去重 const array = [1, 2, 2, 3]const unique = Array.from(new Set(array))// unique [1, 2, 3]// 简单的mapconst nums = [...

2018-11-22 17:30:40 293

原创 js中遍历数组的几种方法汇总

1、forEach var arr= ['张三', '李四', '王五'];arr.forEach(function(v,k) { console.log(v); //这样就会分别将name遍历出来});//注意:jquery中each方法是反的,比如:$(arr).each(function(k,v){ console.log(v); });2...

2018-11-22 16:37:49 1043

原创 leetcode算法题2:两数相加

题目:给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)          输出:7 -> 0 ...

2018-11-21 21:49:13 298

原创 leetcode算法题3:无重复字符的最长子串

题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb" 输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb" 输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew" 输出: 3解释: 因为无重复字符的最长子串是 ".

2018-11-21 17:57:26 211

原创 leetcode算法题1:两数之和

题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的 两个 整数。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]解析:方法1:暴力法很简单。遍历...

2018-11-21 17:56:37 236

原创 JS之函数详解

1、定义函数也是一个对象;它是可以重复执行的代码块;是可以完成特定功能的一段代码;使用typeof检查一个函数对象时,会返回function。2、作用因为一部分代码使用次数可能会很多,所以封装起来,需要的时候调用就可以了。这样做可以将复杂的事情简单化 ,将重复使用的代码进行统一封装。特点: 封装到函数中的代码不会立即执行;函数中的代码会在函数调用的时候执行 ;调用函数语法:函数对象...

2018-11-21 11:29:12 446

原创 JS之面向对象

JavaScript的面向对象编程和大多数其他语言如Java、C的面向对象编程都不太一样。面向对象的两个基本概念是类和实例:类:类是对象的类型模板,例如,定义Student类来表示学生,类本身是一种类型,Student表示学生类型,但不表示任何具体的某个学生;实例:实例是根据类创建的对象,例如,根据Student类可以创建出xiaoming、xiaohong、xiaojun等多个实例,每个...

2018-11-21 11:29:03 170

原创 JS之数组方法

数组的方法有数组原型方法,也有从object对象继承来的方法,这里只介绍数组的原型方法,数组原型方法主要有以下这些:join()push()和pop()shift() 和 unshift()sort()reverse()concat()slice()splice()indexOf()和 lastIndexOf() (ES5新增)forEach() (ES5新增)map() ...

2018-11-18 22:54:49 154

原创 JS之数组详解

1、什么是数组?数组就是一组数据的集合; 其表现形式就是内存中的一段连续的内存地址; 数组名称其实就是连续内存地址的首地址。2、数组特点?数组定义时无需指定数据类型; 数组定义时可以无需指定数组长度; 数组可以存储任何数据类型的数据(比如说一个元素保存整型,一个元素保存字符串型,这个在JS中是可以的)。创建数组的语法:var arr=[值1,值2,值3];         ...

2018-11-18 22:08:03 214

原创 JS闭包问题

1、如何理解闭包?为什么要使用闭包: 因为JS中变量的作用域分类为全局变量和局部变量。函数内部可以读取函数外部的全局变量; 在函数外部无法读取函数内的局部变量。为了让函数执行完成后,内部的函数、变量还 能被调用,可以采用闭包延长局部变量/函数的生命周期。 定义和用法: 当一个函数的返回值是另外一个函数,而返回的那个函数如果调用了其父函数内部的其它变量, 如果返回的这个函数在外部被执行, 就产...

2018-11-18 19:27:01 374

原创 JavaScript 的垃圾收集

垃圾回收机制就是间歇的不定期的寻找到不再使用的变量, 并释放掉它们所指向的内存; 主要为了以防内存泄漏, (内存泄漏: 当已经不需要某块内存时这块内存还存在着)。JS有两种变量: 全局变量和在函数中产生的局部变量。局部变量的生命周期在函数执行过后就结束了, 此时便可将它引用的内存释放(即垃圾回收); 但全局变量生命周期会持续到浏览器关闭页面。JS执行环境中的垃圾回收器有两种方式: 标记...

2018-11-08 22:47:03 317

原创 JS的作用域问题

一、块级作用域在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。js没有块级作用域(你可以自己闭包或其他方法实现),只有函数级作用域,函数外面的变量函数里面可以找到,函数里面的变量外面找不到。var a=10; function aaa(){ alert(a);}; function bbb(){var a=20;aaa();...

2018-11-07 22:58:59 289

空空如也

空空如也

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

TA关注的人

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