C++执行ADB指令
1、运行环境
VS2013+adb.exe程序,项目结构在github上ADB_CMD,网址为:https://github.com/w-x-me/Demon_Code
2、源码
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS
#inc...
使用SpringMVC开发Restful风格的API
1、编写针对RestfulAPI的测试用例
添加测试的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
编...
js实现二叉查找树的建立、插入、删除、遍历操作
1 概念
二叉排序树(二叉查找树),它或者是一颗空树,或者是具有以下性质的二叉树:
任意一个结点左子树上的所有结点值均小于该结点值
任意一个结点右子树上的所有结点值均大于该结点值
例如下图:
2 插入和建立二叉排序树
结点的数据结构
function newNode(value){
this.value = value;
this.left = null;
...
JavaScript练习题
js练习题
主要记录了学习中感觉有意思的题型,一下代码逻辑均为自己编写的思维逻辑,问题解决方法不唯一,我的代码仅供参考
函数
1.编写任意个数字的求和、差、积、商的函数
function f1(){
var sum=arguments[0], //将第一个数符初值分别给这几个变量
cha=arguments[0],
ji=argument...
二进制中1的个数(JS实现)
题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
function NumberOf1(n)
{
}
思路
将数值与1进行与(&)运算,若结果为1则表明该数二进制最低位为1,则计数+1,否则最低位为0;将该数进行无符号右移(>>>),重复上述比较过程,由于JS位操作时是32位存储的,则只需移动31次即可。
代码
fun...
BZOJ2120 数颜色(带修改的莫队算法)
题目链接:BZOJ2120
题目大意:
维护一个序列(长度小于等于10000),支持两种操作:查询和修改。
查询:查询区间[L,R]中的不同数字的个数。修改:将第i个元素修改为j。
题解:
本题是带修改的莫队算法。
因为莫队算法是通过改变询问的顺序来降低整体的时间复杂度,必须保证离线,而加入修改操作相当于要求在线,故普通的莫队无法解决此题。
我们考虑加入修改操作后如何尽量保证算法的复...
设计模式之状态模式(State)
1、定义
在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。
在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。
2、介绍
优点: 1、封装了转换规则。 2、枚举可能的状态,在枚举状态之前需要确定状态种类。 3、将所有与某个状态有关的行为放到一个类中,并且可以方便地增加新的状态,只需要...
动态规划 剪绳子 (JS 实现)
题目
现有一根长度为N的绳子,需要你剪成M段,使M段的乘积最大。(其中M、N都为整数,剪成的每段长度也为整数,N已知,M未知)。例如长度为8的绳子,当剪为3段乘积最大,即2*3*3=18.
思路
看到这种求最优解的题型,你就应该思考一下动态规划是否适合。这个绳子我可以一次一次的剪,第一次剪成两段,这就变成两根新绳子,只要我分别知道这两根新绳子最大的乘积,那么我就知道了整条绳子的最大乘积了...
树相关算法(一)——二叉树的遍历、树的重心、树的直径
前言:算法竞赛中常见的树问题
(二叉)树的遍历
树的重心
树的直径
最近公共祖先(LCA)
哈夫曼树
树链剖分
一、(二叉)树的遍历
二叉树的遍历(Traversing binary tree)是指从根节点出发,按照某种次序一次访问二叉树中所有的节点,是的每个节点被依次访问且仅被访问一次。
我们规定一种遍历顺序为先访问中间的节点,在访问左边子树,当...
Spring Boot开发Restful API中异常和错误处理
Spring Boot中默认的错误处理机制
在客户端的错误处理
在浏览器端的错误处理
可以看出,在浏览器发出的请求,出现错误返回的是一段html页面,而在app端发生错误请求时,返回的是一段json数据。
这是因为在Spring Boot 内部对请求会进行判断,进而做出相应的不同的响应
具体的实现可以查看BasicErrorController(在IDEA中搜索类的快捷键Ctrl...
vim+cscope时自动更新cscope的数据库文件
在linux环境下vim和emacs是当仁不让的主流编辑器。现在记录一下本人使用vim时遇到的一个问题(如题),和解决方法。
vim只是一个编辑器,如工程中的符号跳转、符号搜索等功能它并不具备。那么在阅读kernel等大型工程的时候单纯用vim是不方便的。那么就需要借助 cscope进行上述功能的补充。如果只是代码阅读,则一次生成数据库就可以了,但是如果是在正常的开发过程中,
设计模式之责任链模式(Chain of Responsibility)
1、定义
顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。
在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。
2、介绍
优点: 1、降低耦合度。它将...
一句话弄懂Java泛型 extends 和 super
之前一直用有道笔记,记录的东西都是只要自己看得懂就行了,现在尝试写文章,发表一下自己的一点点见解,可能有很多不足之处
废话不多说,开始正文
<? extends E> 上限通配符,用来限制类型的上限
<? super E> 下限通配符,用来限制类型的下限
先举几个类的例子:
基类: A
A的子类: A1, A2
A的孙子类(A1的子类): B
B的子类: B...
【模板】Treap(详细注释)+BZOJ3224
有关Treap,很多博客都给出了详细的讲解,这里就只给出Treap的模板代码和详细的注释,希望大家对Treap有更详细的理解。
模板如下(同时也是BZOJ3224的代码)。
注意在BZOJ和POJ等OJ上提交的时候不要使用srand()函数,否则会RE。
#include<cstdio>
#include<ctime>
#include<algorithm&g...
1、嵌入式开发之centos6.6配置samba服务器
嵌入式Linux开发的时候时常需用到samba服务来在linux和windows之间传送文件,所以需要在linux开发机上配置samba服务器,由于记性不太好,且开发过程中也不会经常去配置,因而每次换开发机或者重装都需要在网上找配置方法,这次同样又找了一次,在此记录备忘,谢谢网络上各位大神的无私奉献。
由于只是开发,因此只需要最简单的配置就可以满足。
1、安装
yum
SpringBoot开发Restful API请求的拦截
需求背景:记录所有Restful API 的处理时间
过滤器(Filter)
编写一个Fileter并注入到Spring容器中
@Component
public class TimeFIlter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletE...
springMVC中的参数传递
springMVC中的参数传递
1 接收参数
1.1 @RequestParam接收
将表单传过来的username重命名为name
这种方式如果从地址栏进来且地址栏不输入要传的参数会报错400
@RequestMapping(value="/a")
public String hello(@RequestParam("uname") String name){
System.out.pr...
【搜索】NOIP2014寻找道路
题目链接:洛谷2296
题目描述
在有向图 G 中,每条边的长度均为1,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件:
路径上的所有点的出边所指向的点都直接或间接与终点连通。
在满足条件1的情况下使路径最短。
注意:图 G 中可能存在重边和自环,题目保证终点没有出边。
请你输出符合条件的路径的长度。
输入输出格式
输入格式:
第一行有两个用一个空格隔开的...
2、嵌入式开发之centos6.6配置nfs服务器
开发过程中一般会选择NFS文件系统,因为不需要频繁的烧写flash,NFS配置如下:
1、安装(命令)
yum install nfs
2、配置:在/etc/exports文件中增加如下一行
/home/linux/nfsboot *(rw,sync,no_root_squash)其中/home/linux/nfsboot/是nfs文件系统所在的目录,即解压根文件系统的目录
今日推荐
周排行