- 博客(16)
- 收藏
- 关注
原创 《剑指offer》面试题5:替换空格(JavaScript)
目录题目方法一:利用 JS 原生方法分析代码欢迎并且感谢交流区探讨和指正题目请实现一个函数,把字符串 s 中的每个空格替换成 “%20”方法一:利用 JS 原生方法分析用 JS 来解这道题的话,两个 String 和 Array 的原生函数就能解决,So easy如果考虑到字符串中有多个空格,其实也是可以的比如说,“hello world hh” 字符串中,hello 和 world 之间有两个空格,那么 split 函数就会把字符串转化成数组:[ “hello”, “”, “worl
2020-10-13 23:21:53
178
原创 《剑指offer》面试题4:二维数组中的查找(JavaScript)
目录题目方法一:线性法(最优解)分析代码方法二:穷举法分析代码欢迎并且感谢交流区探讨和指正题目方法一:线性法(最优解)时间复杂度:O(n)空间复杂度:O(1)分析在这个二维数组,或者说矩阵里,每个数都符合一个规律就是它比它所在行左边所有的数大,比它所在列下面的所有数小所以可以用类似二分的思想代码方法二:穷举法时间复杂度:O(n²)空间复杂度:O(1)分析代码...
2020-10-13 23:05:05
162
原创 数据结构与算法:二分查找(查找一个数,查找左右边界)
目录寻找一个数1、 else if1、L <= R寻找左侧边界寻找右侧边界欢迎并且感谢交流区探讨和指正寻找一个数不等号是否应该带等号,mid 是否应该加一等等分析这些细节的差异以及出现这些差异的原因二分查找,要求数据结构为顺序存储的线性表,即数组,且数组中的元素按关键字有序排列目的是从一堆数中找出是否存在符合条件的数/** * @param {number[]} nums 输入的有序数组 * @param {number} target 目标数 * @return {number}
2020-10-10 15:51:40
1273
原创 《剑指offer》面试题3:数组中重复的数字(JavaScript)
目录题目方法一:遍历交换法(最优解)分析代码方法二:哈希表法分析代码题目在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。 请找出数组中任意一个重复的数字。输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3方法一:遍历交换法(最优解)时间复杂度:O(n)空间复杂度:O(1)分析首先要明确一个事,输入数组 nums 的长度为 n,数组下标为 0 到 n-1若数组中
2020-09-10 21:26:40
155
原创 原型链和 for in、typeof、hasOwnProperty
for in 可以在对象中枚举所有的属性(enumerable 标志为 true,可枚举)所以也会枚举到原型链上的所有属性如果想要只枚举该对象的属性,可以调用该函数的方法:obj.hasOwnProperty(key)函数返回 true 或 false 表明该属性是否是该对象的属性let obj = { name: 'abc', id: '9'}for(let key in obj){ if(obj.hasOwnProperty(key)){ console.log(key+' :
2020-08-25 15:18:03
348
原创 一道题引发的思考:JavaScript 中的 this 指代什么
目录背景语法题目分析答案背景《现代 JavaScript 教程》中的题目语法很多面向对象的语言在语法层面都会绑定 this:在对象中定义的方法总是有指向该对象的 this也就是说,创建对象实例后,在对象方法中的 this 关键字会绑定到这个对象实例上但是 JavaScript 不同,它的 this 取值不取决于方法声明的位置,而是取决于是哪个对象执行了该方法,取决于代码执行的上下文环境,这很重要。在函数里定义的 this,要看具体执行这个函数的是哪个对象如果没有对象,即全局环境,分两种情况
2020-08-13 14:34:24
126
原创 你真的会用 vscode 吗?(我的小小记录)
目录1、保存的时候自动格式化1、保存的时候自动格式化终于能接触到公司的项目了,从远程仓库把项目代码拉下来后就开始看,然后发现,当我习惯性地对页面 Ctrl + S 保存,所有的代码都被默认格式化了,比如说原来项目中的字符串单引号被格式化成双引号还有一些地方默认加上了逗号或者分号但是项目采用了 eslint 格式,编辑器这种默认的格式化让我的代码无法通过编译所以,怎么把这种 “保存文件” 时的 “自动格式化” 去掉?把这个勾勾去掉就好啦...
2020-08-11 13:57:20
200
原创 java.lang.UnsupportedOperationException异常分析
public static void main(String[] args) { //得到List集合 List<Integer> coll = Arrays.asList(new Integer[]{1, 2, 3, 4, 5, 6, 7, 8, 9}); //获取相应迭代器,并对集合进行遍历 Iterator ...
2020-08-11 13:41:15
424
原创 再学JavaScript ES(6-10) 第一章 课程介绍与环境搭建
安装 nodejs,配置环境变量。然后搭建本次项目的项目环境直接使用 npx 命令,借助脚手架工具 es10-cli 初始化项目$ npx es10-cli create myESProject如果无法使用 npx 命令,可以在全局安装 es10-cli 脚手架再初始化项目$ npm install es10-cli -g$ es10-cli create myESProjec...
2020-05-06 13:33:12
248
原创 Spring学习笔记之IOC篇实验1:通过IOC容器创建对象,并为属性赋值
IOC(Inversion of Control):控制反转如果我们需要获得一个对象实例,我们可以用 new + 构造器的方式来获得,如:List list = new ArrayList(),这种方式是我们主动地获取资源,也是我们所常用的。而当我们使用 Spring 框架的时候,Spring 的一个特性就是 IOC 控制反转,指的是我们对资源的控制由主动变为被动了。IOC 是一种容...
2020-03-08 22:52:09
995
原创 《剑指offer》面试题21:调整数组顺序使奇数位于偶数前面(Java)
题目输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例输入:nums =[1,2,3,4]输出:[1,3,2,4] 注:[3,1,2,4] 也是正确的答案之一。方法一:用两个数组分别存储奇数和偶数,然后再拼接返回public int[] exchange(int[] nums) { A...
2020-03-03 19:00:43
94
原创 设计模式之单例模式的六种写法
单例模式,指的是采取一定的方法,保证在整个软件系统中,对某个类来说,它只存在一个实例对象。说起单例模式,我们一般都能说出饿汉式和懒汉式。本文提供具体的六个单例模式的实现方式,并讨论它们的优缺点。一、饿汉式这里是引用首先,最简单的实现方式就是饿汉式。在类中定义私有静态属性,并且进行初始化构造器私有化提供一个静态公共方法,在需要时能获得该实例对象。根据初始化的位置不同,又可以分为两...
2020-02-25 18:26:11
117
原创 web安全实验一:Linux自建CA实现HTTPS(LAMP)
1、创建目录CA:存储私钥和证书文件mkdir CAcd CA2、生成CA私钥 cakey.pemopenssl genrsa -out cakey.pem 20483、生成CA的根证书 cacert.pemopenssl req -new -x509 -key cakey.pem -out cacert.pem -days 365需要填写自建“CA机构”的资料...
2019-12-13 22:52:09
323
原创 《剑指offer》面试题3:数组中重复的数字(Java)
题目在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。解法一:最好的解法首先要明确一个事,数组长度为n,数组下标为0到n-1。若数组中没有重复数字,将数组排序,数组中存储的...
2019-12-09 22:51:20
140
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人