关于链表中哨兵结点问题的深入剖析
最近正在学习UC Berkeley的CS61B这门课,主要是采用Java语言去实现一些数据结构以及运用数据结构去做一些project。这门课不仅告诉你这个东西怎么做,而且一步一步探寻为什么要这样做以及为什么会有这些功能。我们有时在接触某段代码或功能的实现时,可能直接就看到了它最终的面貌,而不知道如...[2018/10/8]
关于LeetCode上链表题目的一些trick
最近在刷leetcode上关于链表的一些高频题,在写代码的过程中总结了链表的一些解题技巧和常见题型。
结点的删除
指定链表中的某个结点,将其从链表中删除。
由于在链表中删除某个结点需要找到该结点的前一个位置,然后将前一个结点的next指针直接绕过该结点即可删除。但找到该结点的前一个位置需要指...[2018/10/8]
链表(上)
链表是什么?
来看看维基百科给出的定义:
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存储到下一个节点的指针(Pointer)。
由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比数组快得多,但是查找一个...[2018/10/8]
链表(下)
熟练掌握链表的六大技巧
理解指针或引用的含义
警惕指针丢失和内存泄漏
利用哨兵简化实现难度
重点留意边界条件处理
举例画图,辅助思考
多写多练,没有捷径
技巧一:理解指针或引用的含义
含义:将某个变量(对象)赋值给指针(引用),实际上就是就是将这个变量(对象)的地址赋值给指针(引用)。
以 ...[2018/10/8]
2018-10-07 Gym-101864A丨二阶约瑟夫环丨想法
题意:
多组样例,每组输入X L N,代表取1到rand(L,N)做二阶约瑟夫环(最后剩下一个人不处罚),假设每种可能性概率相等,求X位置上的人不被处罚的概率。
思路:
一开始很混,因为n的范围到1e15,要做得巧,首先对不被惩罚的情况,有两种:
1.成为约瑟夫环的剩下的人。
2.没有...[2018/10/8]
一种递推组合数前缀和的Trick一种递推组合数前缀和的Trick
记录一下一种推组合数前缀和的方法
Trick
设\(\sum_{i = 0}^m C_n^i = S(n, m)\)
\(S\)是可以递推的
\(S(n, m + 1) = S(n, m) + C_{n}^{m + 1}\)
就是加上最末尾的一项
\(S(n + 1, m) = 2S(...[2018/10/8]
论文笔记:目标检测算法(R-CNN,Fast R-CNN,Faster R-CNN,FPN,YOLOv1-v3)
R-CNN(Region-based CNN) motivation:之前的视觉任务大多数考虑使用SIFT和HOG特征,而近年来CNN和ImageNet的出现使得图像分类问题取得重大突破,那么这方面的成功能否迁移到PASCAL VOC的目标检测任务上呢?基于这个问题,论文提出了R-CNN。 基本步骤...[2018/10/8]
腾讯云服务器简单环境配置
一、新手三大件的安装配置 1.1 jdk (教程) 1.2 tomcat(教程) 1.3 mysql (教程) 1.4 mysql修改字符集(教程) 二、配置安全组 配置安全组是为了能让你本地主机可以用终端 h登录服务器,以及开放其它作用端口,总...[2018/10/8]
第十五届中国研究生数学建模竞赛之机场登机口调度
第十五届中国研究生数学建模竞赛之机场登机口调度 1.问题描述 具体题目文件见:https: github.com/luoshui3000/Airport_gate_scheduling 问题一:本题只考虑航班-登机口分配。作为分析新建卫星厅对航班影响问题的第一步,首先要建立数学优化模型,尽可能多...[2018/10/8]
使用Sphinx编写文档
操作系统 : Windows7_x64 Python 版本 : 2.7.10 Sphinx 版本 : 官方网址:http: phinx-doc.org github地址: https: github.com phinx-doc phinx 安装Sphinx 使用pip安装: p...[2018/10/8]
fiddler的断点使用
功能
用于修改数据
1、断点设置请求之前--修改请求数据
2、断点设置在响应时--对响应的数据修改
已中断的会话最前面的图标为红色的带箭头的标志
设置断点方法
1、菜单栏:rules->automatic breakpoints
before reque...[2018/10/8]
Jmeter性能测试之基础知识(一)
1. 官网下载Jmeter: 点这里, 下载完成解压即可
2. 启动: 进入解压后的bin目录, Windows点击jmeter.bat, Linux执行jmeter
3. 添加线程组(user) : Test Plan --> Add --> Threads(Users) --&...[2018/10/8]
Jmeter性能测试之Monitor监控(SSHMon Samples Collector)
前面写的一篇Monitor监控有缺陷, 这篇文章使用Jmeter4.0+的版本, 使用插件SSHMon Samples Collector来做资源监控
1. 官网下载插件: plugins-manager.jar , 然后放到lib/ext目录下, 重启Jmeter.
2....[2018/10/8]
shell and DOS
long long ago 自己便想总结下shell命令以及dos常用的命令,毕竟实际实践中会经常用到,用的好的批处理或者shell脚本会事半功倍,好了,废话不多说,开始。
shell
ls
ll
pwd
mkdir -p
rmdir -p
rm -rf
...[2018/10/8]
测试工程师怎么甩锅!
如果说到最困扰软件测试工程师的几大问题,我们最先能想到的无非是以下几点:
需求带着小姨子跑路啦,没有需求我咋测试啦。。。
开发牛皮哄哄啦,他打了我,还说我报的不是BUG。。。
测试时间不够啦,项目质量这么烂怎么还要上线啦,人家不要面子的吗。。。
还有,今天又有人问我,‘这个Bug你怎么没测...[2018/9/30]
jenkins使用开始踩坑(1)
上篇文章 安装教程 :https: www.cnblogs.com/linuxchao/p/linuxchao-jenkins-setup.html
一.前戏
话说上一篇文章安装完 JDK 和 jenkins 之后 , 在使用的时候遇到了很多问题,现在一一和大家...[2018/9/30]
mycat安装与使用
1.下载
# wget http: dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
2.安装
# tar -zxvf ~/Mycat-server-1.6-RELEASE-2016...[2018/9/30]
java ssm 后台框架平台 项目源码 websocket 即时通讯 IM quartz springmvc
官网 http: www.fhadmin.org/ D 集成安全权限框架shiro Shiro 是一个用 Java 语言实现的框架,通过一个简单易用的 API 提供身份验证和授权,更安全,更可靠 E 集成ehcache分布式缓存 是一个纯Java...[2018/9/30]
HTTPS 站点的性能优化
HTTPS 站中的几大难题
性能,包括:
HTTPS需要多次握手,因此网络耗时变长,用户从HTTP跳转到HTTPS需要一些时间;
HTTPS要做RSA校验,这会影响到设备性能;
所有CDN节点要支持HTTPS,而且需要有极其复杂的解决方案来面对DDoS的挑战。
其次,兼容性及...[2018/9/30]
系统架构设计之-任务调度系统的设计
实习生张大胖 这是个代码写得很烂的电商系统,只要运行一段时间,服务器就会出现Out Of Memory。 别人都忙得四脚朝天,于是实习生张大胖被抓了壮丁去研究为什么会出现OOM。 刚入行的张大胖技术水平一般,“装模作样”地看代码,研究日志,请教老员工,一个星期过去了,还是一无所获。 周一例行的项目...[2018/9/30]
git rebase 合并多次提交.
一、应用场景
为什么需要合并多个提交呢?
常常一个功能的开发,修修补补 commit 了 n 多次,带来的结果就是提交过多过杂,不够直观,究竟哪些提交是对应这个功能的呢?还有就是,如果我要将这个功能迁移到其他分支呢?一个个 commit...[2018/9/30]
读《有效管理的5大兵法》笔记摘录(一)核心价值观:求实、进取、创新、协同、分享
一、核心价值观:求实、进取、创新、协同、分享
1、求实
求实:就是刨根问底,不夸大其词,不以讹传讹,不草率下结论,不不懂装懂,不偷换概念,不当信息二传手
如何求实,求甚解? 不管什么事情,问五个为什么,就像永远有十万个为什么的小孩子一样,前一个问题的答案是后一个问题,层层问下去,直至你垭口无言或...[2018/9/30]
Git - git branch - 查看远端所有分支
索引:
商业开发实战总结
一、示例:
1 git branch -r
二、说明:
该命令将列出仓库中所有存在的远端分支,无论该分支是否已签出到本地.
...[2018/9/30]
CDN分发流在一对一直播中能够实现的技术难点实例分析CDN分发流在一对一直播中能够实现的技术难点实例分析
网络视频直播存在已有很长一段时间,随着移动上下行带宽提升及资费的下调,视频直播被赋予了更多娱乐和社交的属性,人们享受随时随地进行直播和观看,主播不满足于单向的直播,观众则更渴望互动,直播的打开时间和延迟变成了影响产品功能发展重要指标。那么,问题来了: 如何实现低延迟、秒开的直播? 先来看...[2018/9/30]
POJ3321 Apple Tree (JAVA)
树形数组题,有一定难度。
首先得搞清楚树形数组是什么
- 它是建立在原始数组上的统计数组
- 目的:方便对原始数组进行切片统计,主要用于统计切片的累加和
其实你可以对切片进行扫描,把元素一个一个加起来,也能计算出累加和。
但是,重点是,比如我要多次统计1到1000万个数据的和,其...[2018/9/30]
剑指Offer-翻转单词顺序列
题目描述
牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a...[2018/9/30]
判断二叉树是否平衡二叉树
题目
平衡二叉树的性质为:要么是一颗空树,要么任何一个节点的左右子树高度差的绝对值不超过1。给定一棵二叉树的头结点head,判断这棵二叉树是否为平衡二叉树。
难度:??
基础理解
以下是个人认为对概念叙述较为详细的参考链接:
对平衡二叉树的理解:判断二叉树是否为平衡二叉树
对先序、中序、后序...[2018/9/30]
1-1 统计数字问题【计算机算法设计与分析】
问题描述:一本书的页码从自然数1开始顺序编码到自然数n。书的页码按照通常的习惯编排,每个页码都不包含多余的前导数字0,Eg:页码6 不使用 006 。数学计数问题要求给定书的总页码n,计算出书的全部页码分别用到了多少次数字0,1,2,3,... ,9.
1 #include ...[2018/9/30]
浅谈"n个球"和"m个盒子"之间的乱伦关系
无视标题,从我做起
球异,盒同
不空
该情况为经典的第二类斯特灵数
设$f[n][m]$表示答案。
$f[n][m] = f[n - 1][m - 1] + m \times f[n - 1][m]$
边界条件:$f[0][0] = 1$
答案 = 第$n$个数单独占一个盒子 + 第$n...[2018/9/30]
[算法竞赛入门经典]Message Decoding,ACM/ICPC World Finals 1991,UVa213
Description
Some me age encoding schemes require that an encoded me age be sent in two parts. The first part, called the header, contains the charact...[2018/9/30]
String Problem解题报告
题目大意:
给定两个非空字符串s1和s2,全部由小写英文字母组成,长度分别为s和t(s,t<=100000)。
给定n个字母替换方案(n<=500),第i个替换方案可以把指定的小写字母u变成指定的小写字母v,花费为w。
你的任务是求出使两个字符串相等的最小花费,如果方案不存在,输出-...[2018/9/30]
如何下载YouTube 60fps视频
YouTube上面不仅支持分辨率为4K和8K的视频,同时也开启了对60fps视频的支持。60帧的视频广泛用于游戏和体育视频中,使视频看起来更加流畅和细腻。对游戏玩家来说,YouTube对60fps支持的开启意味着用户将能够看到更加流畅的格斗、竞速、枪战游戏视频。虽然支持下载油管视频的软件有很多,但...[2018/9/30]
Jmeter 参数化之 CSV Data Set Config 循环读取参数
对于做接口和性能测试,个人感觉Jmeter是一个非常方便易学的工具,今天随笔记录Jmeter 参数化之 CSV Data Set Config。
首先在开始记录之前,先搞明白2个问题
1、什么是参数化?
个人理解:将固定的数据,使用动态参数的形式代替,而动态参数是可以根据自己的需要进行配置的...[2018/9/30]
jenkins安装详细教程
一.jenkins简介
jenkins是一个开源的软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
1.持续的软件版本发布/测试项目
2.监控外部调用执行的工作
最近一直在研究/学习自动化测试,所...[2018/9/30]
web自动化测试,定位不到元素的原因及解决方案(持续更新中2018年9月29日)
主要讲自己在实战中遇到的坑:
1.动态id定位不到元素
分析原因:每次打开页面,ID都会变化。用ID去找元素,每次刷新页面ID都会发生变化。
解决方案:推荐使用xpath的相对路径方法或者c Selector查找到该元素。
2.iframe原因定位不到元素
...[2018/9/30]
大数据开放平台产品落地方案大数据开放平台产品落地方案
TSAD的来源:
TSAD由Open-test、Open-stor、Open-api、Open-dev四大系统组成,提供API测试平台Open-test;测试通过版本可...[2018/9/28]
.Net Core应用框架Util介绍(四)
上篇介绍了Util Angular Demo的目录结构和运行机制,本文介绍Util封装Angular的基本手法及背后的动机。
Angular应用由Ts和Html两部分构成,本文介绍第一部分。
Angular Ts的封装
Ts是Angular的代码部分,用于编写页面逻辑。
依...[2018/9/28]
软件发布时的 GA、RC、Beta软件发布时的 GA、RC、Beta
今天在使用 ovirt 的时候,遇到了其 Pre-release 版本并看到如下版本号:ovirt-node-ng-image-update-4.2.7-0.1.rc1.el7.noarch.rpm ; 其中的这个 rc1 引起了我的兴趣:
GA
General Availabilit...[2018/9/28]
基本数据结构 -- 链表概述
一、线性表
通俗的讲,表就是按顺序排好的元素集合。形如:A1,A2,A3,...,An 这样的有限元素序列,就是一个线性表,这个线性表的大小是 n。称大小为 0 的表为空表。
对于除空表外的任何表,除表头元素和表尾元素外,其他元素都有一个前驱元(排在该元素前面)和一个后继元(排在该元素...[2018/9/28]
二叉树的序列化与反序列化
题目
二叉树被记录成文件的过程叫作二叉树的序列化,通过文件内容重建原来二叉树的过程叫作反序列化。给定一颗二叉树的头节点head,并已知二叉树节点值为32bit整型。请设计一种二叉树序列化和反序列化的方案。
难度:??
设计
概要设计
一个二叉树图概貌
digraph {
1->2...[2018/9/28]
对于后缀自动机的一丢丢理解
对于后缀自动机的一丢丢理解
好久没更博客了,写一篇证明我还没有退役
如果有错误请大佬们纠正。
后缀自动机是一种可以读进一个字符串的所有后缀的有限状态自动机,由于一个子串本质上就是一个后缀的前缀,后缀自动机也能读进所有子串,所以后缀自动机常用于处理子串问题,它的功能比后缀数组更强大。
一些概念
...[2018/9/28]
图算法--旅行商问题
旅行商问题的描述
试想一下,一个业务员因工作需要必须访问多个城市。他的目标是每个城市只访问一次,并且尽可能地缩短旅行的距离,最终返回到他开始旅行的地点,这就是旅行商问题的主要思想。
在一幅图中,访问每个顶点一次,并最终返回起始顶点,这个访问的轨迹称为哈密顿圈。要解决旅行商问题,需要用图G=(...[2018/9/28]
charles的使用
一、charles的使用
1.1 charles的说明
Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。安装Charl...[2018/9/28]
为什么 jmeter 分布式测试,一定要设置 java.rmi.server.hostname
之前总结了 jmeter 分布式测试的过程,在部署过程中提到,要在 system.properties
中配置自己的 IP。
至于为什么要这么做,源于这一次 debug 的过程。
运行环境
mint, ubuntu 两台主机作为 master 节点,一台 win server 作为 sl...[2018/9/28]
大型网站限流算法的实现和改造大型网站限流算法的实现和改造
最近写了一个限流的插件,所以避免不了的接触到了一些限流算法。本篇文章就来分析一下这几种常见的限流算法
分析之前
依我个人的理解来说限流的话应该灵活到可以针对每一个接口来做。比如说一个类里面有5个接口,那么我的限流插件就应该能针对每一个接口就行不同的限流方案。所以呢,既然针对的每个接口所以就需...[2018/9/27]
关于时间的那些事--PHP、JavaScript、MySQL操作时间关于时间的那些事--PHP、JavaScript、MySQL操作时间
PHP篇
PHP中时间操作单位是秒
一、将时间戳转为普通日期格式
当前时间戳
time();
当前时间格式
date("Y-m-d H:i:s",time());
昨天时间格式
date("Y-m-d,H:i:s",time()-3600*24);
...[2018/9/27]
结对编程----分析队友代码
通过测试运行队友代码,整体功能及需求都达到了个人编程的要求。下面就细节分析队友代码的优缺点。
优点:1、使用了类封装了整个功能,同时各部分都有写一个方法,耦合度低
2、代码注释明确,可读性高,很容易就可以看懂每一步在做什么
3、相对于自己的代码,其代码添加括号的实现以及重复题目查...[2018/9/27]
Leetcode 124. 二叉树中的最大路径和
题目链接
https: leetcode.com/problem binary-tree-maximum-path-sum/description/
题目描述
给定一个非空二叉树,返回其最大路径和。
本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一...[2018/9/27]
Java+Selenium 3.x 实现Web自动化 - 1.自动化准备Java+Selenium 3.x 实现Web自动化 - 1.自动化准备
(一)自动化准备
说明:本文主要记录了基于公司现有项目(一个电子商务平台),从0开始实现UI自动化的历程。从准备阶段,部分内容直接省略了基础知识,一切以最终做成自动化项目为目标,难免会有晦涩之处。文章主要用于记录过程,翻阅回顾。如有记录出错,描述晦涩之处,望读者能及时指出,一起进行讨论交流,以免误...[2018/9/27]
java+接口自动化+eclipse之-----环境搭建
根据金字塔的比重总结,UI测试占用10%,接口测试占有20%,单元测试占用70%。考虑到之前学过一段时间的单元测试、UI测试,而接口测试未曾接触过,所以最近打算看看接口测试是怎么实现的。
首先,我们先搭建环境
环境搭建:
一、 创建一个maven项目,创建过程这里不再详细描述,可...[2018/9/27]