2 说书人!

尚未进行身份认证

我要认证

为人亲和,自成一派

等级
TA的排名 19w+

字符串转换整数 (atoi)----力扣(javascript)

题目:请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。注意:假如该字符串中的第一个非空格字符不是一个有

2020-07-26 16:12:27

图像旋转 ----力扣(javascript)

题目:给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ],原地旋转输入矩阵,使其变为: [ [7,4,1], [8,5,2], [9,6,3] ]示例 2:给定 matrix = [ [ 5, 1, 9,11], [ 2, 4, 8,10]

2020-07-23 17:20:40

字符串相乘 ----力扣(javascript)

题目:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = “2”, num2 = “3”输出: “6”示例 2:输入: num1 = “123”, num2 = “456”输出: “56088”说明:num1 和 num2 的长度小于110。 num1 和 num2 只包含数字 0-9。 num1 和 num2 均不以零开头,除非是数字 0 本身。 不能使用任何标准库的大数

2020-07-21 18:02:31

电话号码组合 ---力扣(javascript)

题目:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序/** * @param {string} digits * @return {string[]} */var letterCombi

2020-07-18 17:53:04

罗马数字转整数 和 整数转罗马数字---力扣(javascript)

题目:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。

2020-07-17 12:20:27

搜索旋转排序数组 ---力扣(javascript)

题目:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums = [4,5,6,7,0,1,2], target = 0输出: 4示例 2:输入: nums = [4,5,6,7,0,1,2], ta

2020-07-15 16:39:13

实现 strStr() ---力扣(javascript)

题目:实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, needle = “bba”输出: -1说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试

2020-07-14 18:39:38

移除元素 ---力扣(javascript)

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

2020-07-13 09:55:23

删除排序数组中的重复项 ---力扣(javascript)

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

2020-07-12 10:41:56

搜索插入位置 ---力扣(javascript)

题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0解题思路:首先我看到这道题,先想到的是暴力法,当数组的第一个数如果大于了目标值,则这个数插入的位置是第

2020-07-10 18:24:02

Node.js 连接 MongoDB

MongoDB是一种文档导向数据库管理系统,由C++撰写而成。安装驱动用淘宝定制的 cnpm 命令进行安装:$ cnpm install mongodb接下来我们来实现增删改查功能。创建数据库要在 MongoDB 中创建一个数据库,首先我们需要创建一个 MongoClient 对象,然后配置好指定的 URL 和 端口号。如果数据库不存在,MongoDB 将创建数据库并建立连接。创建连接var MongoClient = require('mongodb').MongoClient;v

2020-07-09 14:53:23

MongoDB基础知识

1、关于MongoDBMongoDB是面向文档型的数据库在MySql里面我们是一个个的数据表,但是在MongoDB里面是一个个的集合,集合里面是一个个的文档。在MySql里面的数据表中是一行一行的数据,但是在MongoDB里面的文档中是一个对象的集合,每个对象类似一行的数据。MongoDB是以键值对的形式保存数据的。2、MongoDB的安装在MongoDB的安装目录下的bin下有两个重要的程序。mongo.exe 和 mongod.exe其中mongod.exe是启动MongoDB的程序。程

2020-07-08 18:29:49

最长公共前缀 ---力扣(javascript)

题目:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”] 输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”] 输出: “” 解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。解题思路:解法一:逐个比较第一种方法就是暴力破解,让第一个字符串成为最长公共子串,从前往后依次比较,这种方法占内存,但是耗时不长/** * @

2020-07-08 11:49:41

有效的括号 ---力扣(javascript)

题目:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “([)]”输出: false示例 5:输入: “{[]}”输出: true解题思

2020-07-06 11:13:36

回文数 ---力扣(javascript)

题目:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。解题思路我用的解法是字符串翻转,先将测试的数字转为字符串,因为数组有reserve()的方法,所以需要把

2020-07-03 11:37:09

整数反转 ----力扣(javascript)

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:解题思路:我的解决办法是通过数组的反转方法,在js中一个数要想转为数组,首先需要把数转为字符串,然后再将字符串转为数组/** * @param {number} x * @return {number} */var reverse = function(x) { let

2020-06-30 09:46:10

两数之和 ---力扣(javascript)

题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]解题思路:看到这道题,当然我们会觉得很简单,思路我也是有的,首先我们会用最常用的暴力破解法去解决它,通过两个for循环去遍历数

2020-06-28 17:15:38

从输入url到页面展示到底发生了什么?

总体来说分为以下几个过程:DNS 解析:将域名解析成 IP 地址TCP 连接:TCP 三次握手发送 HTTP 请求服务器处理请求并返回 HTTP 报文浏览器解析渲染页面断开连接:TCP 四次挥手一、URL 到底是啥URL统一资源定位符,用于定位互联网上资源,俗称网址。二、域名解析(DNS)1.IP 地址在浏览器输入网址后,首先要经过域名解析,因为浏览器并不能直接通过域名找到对应的服务器,而是要通过 IP 地址。大家这里或许会有个疑问----计算机既可以被赋予 IP 地址,也可以被赋予主

2020-06-27 17:34:00

vue.js 三种方式安装(vue-cli)

       Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单...

2020-04-09 07:58:03

es6总结

ECMAScript 6(简称ES6)是于2015年6月正式发布的JavaScript语言的标准let关键字变量的解构赋值对象的简写属性箭头函数三点运算符Promise对象SymbolieratorGenerator类的使用async深度克隆let关键字let与var类似,用于声明一个变量特点:在块级作用作用域内有效不能重复声明,不存在变量提升,不会预处理...

2020-03-28 11:35:40

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。