自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Thinkphp实战(一)——项目配置与模板导入

1.前提下载后台管理系统模板(任一模板即可),地址:http://x.xuebingsi.com/下载thinkphp框架:地址:http://www.thinkphp.cn/并安装php集成开发环境phpstudy,编辑器使用phpstorm。框架结构如下:project 应用部署目录├─application 应用目录(可设置)│ ├─comm...

2018-12-22 22:07:45 2537 4

原创 剑指offer编程题合集——python版

为巩固编程能力,在此分享一些解题思路以及代码内容,并做持续更新。青蛙跳台阶问题1 青蛙跳台阶问题2 圆圈中最后剩下的数 输出链表倒数第k个结点 反转链表 合并两个排序的链表 顺时针打印矩阵 栈的压入、弹出序列 树的子结构 二叉树的镜像 二叉树深度 二叉树的层次遍历 二叉搜索树的后续遍历 平衡二叉树  ...

2018-12-10 14:47:54 650

原创 爬虫——爬取网页数据存入表格

最近由于个人需要,从相关书籍以及网上资料进行爬虫自学,目标网址为http://mzj.beijing.gov.cn,对其内容进行整理筛选,存入excel格式。首先是对表格的内容进行设置,编码格式定义为utf-8,添加一个sheet的表格,其中head为表头的内容,定义之后,利用sheet.write将表头内容写入。book = xlwt.Workbook(encoding='utf-8'...

2018-08-29 09:11:43 9685 1

原创 正则表达式,表示且(与)关系的匹配

最近在写模糊搜索的时候,使用mangodb对数据库进行查询。需求是输入框中可以供用户输入多个搜索项,需要返回的字段满足这多个搜索项的内容。刚开始摸不着头脑,一般用正则都是写的或的关系,最后还是在文档里找到了答案。/(?=.*失败)(?=.*成功了)/类似上面的方法,每个()表示你所要放置的一个条件,该正则匹配的结果必须满足每一个括号中的内容。括号里的内容需要以?=开始,.*表示任意个其他字符。其实很简单,这样以括号区分的话,就不要求先后顺序,只要共同包含这些字段即可...

2020-07-13 21:09:22 25777

原创 Webpack学习笔记(二)

1.配置高版本js兼容babel是用于处理高版本js的兼容性问题。安装依赖:npm install [email protected] @babel/core @babel/preset-env webpack配置:{ test: /\.js$/, exclude: /(node_modules|bower_components)/, us...

2020-03-22 15:23:39 267

原创 webpack学习笔记(一)

1.webpack概述 webpack是一个静态模块打包器。好处:将多个文件打包,访问网站的时候请求资源数量减少,降低带宽。语法转化:less/sass转化为css 、 es6转化为es5 html/css/js压缩合并 webpack在开发期间可以提供一个开发环境 自动打开浏览器; 保存自动刷新 项目一般先打包再上线2.基本使用 (1)通常项目里会有两个目录,...

2020-03-21 10:02:26 379

原创 node.js框架express 介绍

express 介绍1.什么是express express是一个基于node.js极简的、灵活的web开发框架,可以实现非常强大的web服务器功能2.express特点 可以设置中间件响应和过滤http请求 可以使用路由实现动态网页、响应不同的http请求 内置支持esj模板(默认是jade模板)实现模板渲染生成html3.express-genera...

2019-11-21 14:14:17 775

原创 手动实现深拷贝和new命令

直接上代码/** * Created by Norway on 2019/10/28. *///深拷贝startfunction deepCopy(obj) { if(typeof obj !== "object"){ return obj; } var myObj = obj instanceof Object ? {} : []; ...

2019-10-28 15:19:11 205

原创 js中数组常用api汇总

在此对js中数组常用的api进行汇总。1.检测数组:判断value是否为数组类型Array.isArray(value);2.转换方法:将数组colors转化成以逗号分隔的字符串alert(colors.toString());3.栈、队列方法:分别实现先进先出、后进先出的效果。var a=[1,2,3,4];a.push(5);//[1, 2, 3, 4, 5]...

2019-10-08 18:21:22 687

原创 温故知新——总结项目中的问题(二)

一、电话改版1.原生封装一个jquery里的ajax方法由于项目的需求是提供一个供其他多个项目使用的电话模板,其他项目不一定引用了jquery,所以项目中的ajax请求需要使用原生的。但如果还需要像jquery中一样使用,就需要自己封装一个。 //封装的ajax--原生 function ajax(){ var ajaxData = { ...

2019-07-31 10:56:37 152

原创 温故知新——总结项目中的问题(一)

在此做些笔记,总结下这段时间敲代码遇到的些问题,小白刚入门真是好多坑。一、直通车的一个列表展示加载更多的实现首先所需要的数据allData可以是静态的,也可以是通过向服务器端发起请求获取到的。要实现的就是每次点击“加载”按钮,就会有新的数据展现出来,我们需要做的就是将所有数据allData切分,按顺序每次用户点击就显示一部分。我们可以定义一个pageNum为页数,初始可以设为1,之...

2019-07-30 17:57:38 151

转载 前端好文收藏

之前逛前端的一些东西,发现了一个收集前端不错的文章的地方。https://juejin.im/post/5d387f696fb9a07eeb13ea60http://caibaojian.com/es6/promise.html

2019-07-30 11:34:17 129

原创 微信小程序学习笔记(一)

小程序组成一个微信小程序只有一个App实例,具体的页面放置在Pages下,每一个页面设立一个文件夹,相应的wxml、wxss、js、json放置在文件夹下。每个App对应都有相应的wxml、wxss、js、json文件,作为一个全局的配置,每个页面则是个性化的设置。1.json全局的app.json中的pages字段中需要添加小程序的所有路径,其中的第一个页面为首页。JSON文...

2019-07-24 14:25:48 171

原创 node.js初学

下载最新版本的node大家可以直接到官网http://nodejs.cn/download/进行下载。我们可以通过path命令检查是否配置了node,js的环境变量,node -v可以查看当前版本。一切显示正常就代表安装成功了。node.js的组成第一是需要使用required将node.js模块引入第二是创建服务器,类似与apache、nginx用于监听客户端的请求第三是...

2019-03-14 16:52:51 116

原创 Thinkphp的增删改查

简单介绍了使用tp框架对数据库的增删改查操作。增:$data=["username"=>"Jack","age"=>20,"tel"=>"8100-9971"];Yundan::insert($data);删:Yun::get(["username"=>"Tom"])->dele

2019-01-16 20:45:11 418

原创 Thinkphp查询及分页显示

php:(1)Yundan代表我们建立的数据库模型,where是查询条件,其中user是数据库表里的字段,$username是查询的变量,如果是一个已知的字符可以改写为where('user=101'),后面的paginate表示查询后分页大小为每页5条内容。(2)assign是变量赋值,查询到的内容赋给list,html页面就可以直接使用list来调用查询到的数据。 publi...

2019-01-15 19:06:45 1843

原创 thinkphp数据库查询

有两种方法可以对数据库进行查询,方法二查询的是表中所有满足该条件的数据,而方法一仅是第一条数据。$query_result = Yundan::get(['yundanid'=>$yundanid]);//方法一$result = Db::table('user1_yundan')->where('username='+$username)->select();//方法...

2019-01-09 15:43:50 540

原创 Thinkphp实战(二)——管理员登录与验证

1.创建表结构打开网页输入localhost:82/phpmyadmin,登录到mysql的图形化管理界面。创建project数据库,建admin管理员表,表结构如下。数据库的管理员登录表只简单的设置了id、password、login_count,last_time四个属性。通常密码采用的是md5的32位加密,时间采用时间戳的形式存入。2.创建管理员模型模型依旧使用命令行...

2019-01-01 13:23:45 3328

原创 圆圈中最后剩下的数

题目描述:首先,让小朋友们围成一个大圈。然后,随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数....这样下去....直到剩下最后一个小朋友,可以不用表演,并且拿到大礼品。请你试着想下,哪个小朋友会得到这份大礼品呢?(注:小朋友的编号是从0到n-1)# ...

2018-12-24 15:56:06 362

原创 平衡二叉树

题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。 平衡二叉树:每一个结点的左右子树的高度之差不会超过1。因此,我们只需要获得根节点的左右子树高度,再对此高度进行判断即可class Solution: def IsBalanced_Solution(self, pRoot): # write code here def TreeDept...

2018-12-19 16:18:14 371

原创 二叉树深度

题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 class Solution: def TreeDepth(self, pRoot): # write code here if pRoot==None: return 0 dep...

2018-12-19 15:50:49 368

原创 二叉搜索树的后续遍历

题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。思想:首先我们需要明确序列是后序遍历,因此最后一个节点一定是根节点。如果满足二叉搜索树,前部分的序列会分成两部分,前半部分是左子树并且值小于根节点,后半部分是右子树并且值大于根节点。整个过程分三个步骤:1.遍历数组,找到区分左右子树的节点...

2018-12-17 16:40:58 379

原创 二叉树的层次遍历

题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路:在已经给出根节点root,只需要设置一个队列,在循环中每次存储队列第一个节点的左右子树,输出队列队头的值,输出完再抛出。# -*- coding:utf-8 -*-class TreeNode: def __init__(self, x): self.val = x self...

2018-12-17 15:31:49 448 2

原创 栈的压入、弹出序列

题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)# -*- coding:utf-8 -*-class Solution: ...

2018-12-17 15:05:11 372

原创 完全二叉树的创建与遍历

完全二叉树:如果一个树的高度是k(k>1),树的前k-1层是满二叉树,并且第k层的叶子结点都是靠左排列。在本例中树结点的val值为1至n-1,可以根据需求自行更改。def createTree(x,n):#创建完全二叉树 if x<n: node=TreeNode(x)#x传参为1,表示根节点为1 node.left=createTre...

2018-12-13 16:15:53 5817

原创 二叉树的镜像

题目描述:操作给定的二叉树,将其变换为源二叉树的镜像。首先对函数的输入参数root结点进行判断,是否是空结点,如果是空则返回None。接着利用最简单的交换规则,利用a、b临时存储left、right,实现左右子树的交换。最后分别对左子树和右子树进行递归,交换子树的左右子树。class Solution: # 返回镜像树的根节点 def Mirror(sel...

2018-12-13 15:34:30 343

原创 树的子结构

问题描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)#coding:utf-8class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solution: ...

2018-12-13 12:40:31 328

原创 JavaScript学习笔记(二)——创建对象

在前一节说过,类型可以划分为基础类型和引用类型两大类,而每个对象都是基于一个引用类型创建的。创建对象的模式有很多种。一、工厂模式工厂模式是软件工程领域一种广为人知的设计模式,开发人员可以编写一种函数,用函数进行封装,通过特定的接口来创建对象,举例说明。function createPerson(name,age){ var o=new Object(); o.na...

2018-12-10 16:31:12 212

原创 合并两个排序的链表

题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。之前看过一些讨论区,有部分解答是使用python的list将两个链表的值保存,再进行排序重新插入链表。显然这不是出题者的用意,我们应该实现的是链表之间的结点连接。已经将每一步的思路放在注释中,在此就不赘述。class Solution: def Merge(self, p...

2018-12-10 14:31:17 348

原创 Ajax基础

一、Ajax介绍 Ajax全称是Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),其用途在于不必重新加载页面即可与服务器交换数据,达到更新页面内容的效果。同步与异步:所谓同步相当于两个人在聊天,你一句我一句,有一定的顺序步骤。在浏览器里就是用户在浏览的时候,服务器端在等待,服务器端在处理数据的时候,浏览器端在等待。异步相...

2018-12-06 22:08:59 251

原创 反转链表

问题描述:输入一个链表,反转链表后,输出新链表的表头。解题思路:反转的含义就是让链表中的每一个结点的next不再指向下一个结点的地址,而是指向上一个结点的地址。方法一:我们可以进行第一遍循环遍历链表,将地址指针存储到list当中。遍历之后,此时p已经指向最后一个结点,此时再进行一次循环,将地址赋给每个next。# -*- coding:utf-8 -*-class ...

2018-12-05 16:41:11 395

原创 输出链表倒数第k个结点

 问题描述:输入一个链表,输出该链表中倒数第k个结点。解题思想:若链表为空或者k为0,则返回的是None。当链表不为空时,有两种情况:链表长度n<k时,不存在倒数第k个结点,则返回None。链表长度n>k时,设置一个长度为k的list,不断地将链表新输入的结点存储进来,若数量超过了k,则把最早进来的抛出,直到最后一个结点,此时list存储的是最后k个结点,输出l...

2018-12-05 15:23:39 429

原创 JavaScript学习笔记(一)——变量、作用域问题

一、基本类型和引用类型的值ECMAScript变量包含两种不同数据类型的值:基本类型值和引用类型值。基本类型值指保存在栈内存中的简单数据段,即完全保存在内容中的一个位置。引用类型值则指保存在堆内存中的对象,实际上保存的是一个指针,指向内存的另一个位置,该位置保存对象。1.动态属性对于引用类型的值,可以为其添加属性与方法,例如var person=new Object();...

2018-12-04 09:15:07 238

原创 迷宫问题(回溯)

问题:随机产生一个n阶的迷宫,障碍用 * 表示,通路使用 0 表示,给定起点和终点,要求给出起点到终点的通路(完整代码在最下方,如有需要可以直接拉至最下方)解题思路:第一步、需要产生一个n阶的迷宫maze,先构建一个n * n的二维数组,全赋值为0。之后我们可以考虑先给迷宫加上外围一圈的障碍,若 i 表示迷宫的行,j 表示迷宫的列,那么我们令i = 0 ,i = n-1,j = 0,j...

2018-11-30 14:44:05 3454

原创 青蛙跳台阶问题(二)

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2,也可以跳3,它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法?解题思路可以类比每次只跳一级或者二级的跳台阶,可以参考另一篇文章:https://blog.csdn.net/noingw96/article/details/84525458当每次只跳一级或者二级时,我们利用分治的思想,将n阶的问题简化到n-1阶与n-2阶...

2018-11-26 16:14:27 546

原创 青蛙跳台阶问题(一)

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)?解题思路第一步,我们确定每一次上台阶只有两种选择,跳一阶或者两阶。第二步,我们走完第一步时可能已经跳了一阶或者两阶,因此剩下的台阶是n-1或者n-2阶。第三步,设剩下的n-1阶有m1种跳法,剩下的n-2阶有m2种跳法,则n阶台阶的跳法有m1+m2种。...

2018-11-26 10:38:34 1061

原创 0-1背包问题(动态规划)

动态规划法(Dynamic planning)介绍:动态规划的解法类似于分治法,都是先将一个大的问题分解成一个小的问题,再进行求解。然后有些问题使用分治法,会遇到很多相同的子问题,因此在求解过程中会出现过多的重复性计算。动态规划法主要采用表格的形式,动态地将每一个阶段每一状态的最优解记录下来,确保之后迭代过程利用到的都是最优解。为了降低时间复杂度,我们就需要利用以空间换时间的思想,利用动态规划...

2018-11-22 12:47:23 2249

原创 爬虫——爬取人民网数据生成词云图

1、以人民网的新闻数据为例,简单介绍的利用python进行爬虫,并生成词云图的过程。首先介绍python的requests库,它就好像是一个“爬手”,负责到用户指定的网页上将所需要的内容爬取下来,供之后的使用。我们可以利用python的pip功能下载requests库,在cmd窗口输入pip install requests命令进行安装,之后用到的库也使用这种方法下载(由于我已经安装了,所...

2018-11-11 19:51:07 8032

原创 简单的图像灰度化

将彩色图片转化为灰度图像的过程叫灰度化处理,对图像的灰度处理有多种方法,在本次实验中使用的是功能较为强大的图像处理库OpenCV。实现内容:读入一张彩色图像RGBImag,转换成灰度图像gray。# -*-coding:utf-8 -*-import cv2 as cvimage = cv.imread("school.jpg")cv.imshow("image1",image)...

2018-11-03 13:58:17 430

原创 等公交车问题-python

问题描述:假设一个站台每5分钟会经过一辆A车,每8分钟会经过一辆B车,请问如果你去该站台,平均需要等多长时间可以等到一辆车?数学思路:可以假设为概率密度位均匀分布,每一个时间段内等到一辆车的概率是相同的。五分钟之内的任意时刻等到A车的概率为1/5,八分钟内任意时刻等到B车的概率为1/8.设x等到车的时间,则x / 5为等到A车的概率,(1-x / 5)为没有等到的没有等到的概率。同理,...

2018-10-13 16:34:25 3424

bootstrap响应式模板

总共包括两个利用bootstrap框架实战的简单模板,分别为海贼王主题的网站首页与论坛后台管理系统。页面为响应式布局,支持移动端,可供初学者借鉴参考,

2018-12-05

空空如也

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

TA关注的人

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