摘要:
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 一开始的思路最暴力的就是打表,没想到直接过了。。数据弱嘛 class Solution { public: int jumpFloorII(int number) { if (n 阅读全文
摘要:
题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 大概所有同学C语言课程都敲过吧,那么这里我就不说那两个简单的方法,递归和迭代。 但是比较大的情况呢,甚至超过int范围,这就要考虑数学问题。 用矩阵计算的,在线性代数里的计算方法就是 n的次方结合矩阵快速幂,时 阅读全文
摘要:
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 一个栈就是把队列反过来,那再来一个栈push进第一个栈就“正”过来了。 第一个栈就是存下反过来的序列。 每次push进一个数,要先判断stack2“正”序列是否为空,不为空要还原“反序列”,还要stack 阅读全文
摘要:
正常的代码,比较直观的: a = list([4,2,1,7,4,9,6,5,0,3,8]); print(a) def quicksort(left,right) : if left right: return 当i变为left值,第一次结束递归的条件是在左边的,当只有一个数后,递归的left传入 阅读全文
摘要:
const,常量声明者 1. 01 只在当前的代码块有效 2. 02 作用域不会被提升 3. 03 在一个作用域里不能重复声明 4. 04 申明的常量必须立即赋值 5. 05可以改变堆区的对象内容,不能修改栈区的地址(和其他语言如Java类似) set,无重集合 map,键值对,弥补对象的局限性 S 阅读全文
摘要:
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 这道题就比较经典了,经典递归。 JS版:(我加了测试 阅读全文
摘要:
题目描述 输入一个链表,从尾到头打印链表每个节点的值。 这个其实我才出题人是想考察递归的,但是做法可以直接另开个数组,遍历链表的时候push链表val值,最后reverse即可。 但是递归方法更加优美啊,通过递归进入链表底部,从下往上push,其实就是用递归模拟了栈的思想,我一直认为栈就是用迭代来模 阅读全文
摘要:
基于Node和MongoDB的Web微博系统 概述 项目是受到《Node.js开发指南》一书启发,作者BYVoid大佬是当时第一批Node开发者,当时学习者迫切需要一个这么DEMO。当然现在已经过去很多年了,Node早就更新无数次了,12年的这本书也就过时,许多代码都根本跑不通了,最后还是要以官网A 阅读全文
摘要:
这个Bug是昨天晚上遇到,去SF社区提了出来,估计是太晚了,没人回答,今天早上两个回答。 第一个人回答主要是解决双重回调,也怪我,我刚开始也以为是双重回调的问题,因为最近看的网上资料全是Promise和async/await解决回调问题。我想我真不会遇到了?其实不是。 第二个大佬认真看了我贴的代码, 阅读全文
摘要:
ES6 let和var的四个不同 1. 01 作用域只局限于当前代码块 2. 02 使用let声明的变量作用域不会被提升 3. 03在相同的作用域下不能声明相同的变量 4. 04 for循环体现let的父子作用域 代码: 阅读全文
摘要:
最近忙课设和复习,一直都没学什么新东西,其实是感觉最近懒了,今天遇到了两件事让我觉得不得不加紧学习进度了。 1.是学长在深信服的内推,一上来就要全栈的。。。。后端我自己用的Node,他们要PHP,那么PHP是时候要系统学下了。 2.Python课上ai老师请了一个年轻的CTO来给我们讲爬虫技术,今天 阅读全文
摘要:
原代码来自ruan老师ES6书,作为var和let对比的说明。 我特地去SF社区问了下,得到了一些大佬们很好的回答。我这里总结一下。 1. 必须记住的两点:函数作用域是声明时确定的,函数内的值是执行时确定的! 所以执行时去确定i,注意function函数参数列表里没有传入i的值,会去外层作用域找,此 阅读全文
摘要:
按钮绑定AJAX发起post请求的事件,Node后台来处理。 doregist把数据插入mongo中,密码md5多重加密。 密码稍微长点,复杂点的,md5加密现在还不能反向破解。 以base64格式经md5加密后,长度固定。 dologin时,把接受的密码用同样公式的md5加密和数据库做对比。 re 阅读全文
摘要:
express-session是Node和express里面处理session的中间件,一说到session,就要提到cookie,这两者的不同可见我的以前博客:http://www.cnblogs.com/zhangmingzhao/p/7613141.html express-session中间 阅读全文
摘要:
记录查询的信息,然后再主页显示你的喜好。 eg: http://localhost:3000/gonglue?mudidi=%E5%B4%A9%E4%B8%89、 可以手动把浏览器cookie删除。 但是这次代码数组存下的就存下了。只是在request Header里的cookie被清除了。 阅读全文
摘要:
实现: 1.表单的提交 2.和Mongdo的交互,增删查分页功能 3.前端全部留言的显示是用underscore的template模版动态增加 4.分页样式用了bootstrap 5.主要是AJAX和后台Node的交互,Node和数据库的交互 这里AJAX发出请求, Node后台这里捕获到了参数,跟 阅读全文
摘要:
对上上一篇的内容的增加: Node.js环境下对MongoDB实现查,插,分页功能 本来那时候就写好了,但是那时候有个Bug,不知道哪里的问题,昨天才发现updateMany函数传实参的时候把collectionName打了引号,煞笔了一天。诶 阅读全文
摘要:
最近加一个技术学习群,群的问题就是这个,很有意思。 我当然直接在控制台里去打印看下结果了 在sf里有人给了解释: ([]).length --> 空数组的length是0 ({}).length --> {}是一个空对象,这个对象是没有length 方法的所以是undefined ([] + {}) 阅读全文
摘要:
写法上还是模块化,尽量把不同职责的代码分开,避免"万能类",尽量采用MVC。 连接,创建数据库,插入数据 db.js: 01.js: 1版本分页 在db.js这种版本的分页效率是比较低的,因为已经查询了所有数据库,然后筛选需要push进数组。 02.js: 2版本分页 利用mongodb自带的函数l 阅读全文
摘要:
查看所有数据库列表 show dbs 使用数据库、创建数据库 use databasename 如果真的想把这个数据库创建成功,那么必须插入一个数据。 数据库中不能直接插入数据,只能往集合(collections)中插入数据。不需要创建集合,只需要写点语法: db.student.insert({“ 阅读全文
摘要:
暂没有数据库,所以做的也是本地的资源管理器。 总体设计: app.js: 用express静态出public和uploads文件夹,用来放资源文件,然后分别路由主页,相册文件夹,上传页面,上传表单处理。 然后在控制层的controller来控制前台和后台的交互 router.js: 底层的真正处理的 阅读全文
摘要:
在以前学习Java的时候,leetcode上有几道位运算的题目,利用位运算的特性很好的解决。 之后有前辈老师在讲到异或^的时候,对我们说有不用开第三个变量tmp,来交换两个变量值的方法,说这种方法速度快,又节省了内存。受到之前leetcode题目和老师威信的影响下,我当然相信了,之后在写数据结构大作 阅读全文
摘要:
引用原文评论的一句话:条理清晰, 如此甚叼! 论版本号的正确打开方式 作者: 法海 发表于: 2016-08-04 版本号广泛运用于开发的各种场景:NPM 包的版本定义、对 NPM 包的特定版本的依赖指定、git 的 daily 版本号分支…… 面对如此多的场景,版本号的命名却存在很大问题。举些例子 阅读全文
摘要:
特性: 1. 单个参数时可省略(),箭头函数函数体只有单条语句返回时,可省略{}和return 2. 参数为对象时,可省略对象名 3. 在传统的js中,方法可以作为一个函数存储为对象的一个属性。当调用方法时,this 指向该方法的从属对象。 但是当用箭头函数时, calculate.sum() 方法 阅读全文
摘要:
test.js 运行 test.js 结果为: 解释:a 是一个对象,b 是对 a 的引用,即 a 和 b 指向同一块内存,所以前两个输出一样。当对 b 作修改时,即 a 和 b 指向同一块内存地址的内容发生了改变,所以 a 也会体现出来,所以第三四个输出一样。当 b 被覆盖时,b 指向了一块新的内 阅读全文