自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码客

记录代码人生

  • 博客(29)
  • 收藏
  • 关注

原创 leetcode-153/154 O(logn)找出旋转数组的最小值

背景假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。[4,5,6,7,0,1,2]称为旋转数组。1.假设数组中不存在重复元素。二分法。 找中点,判断中点是不是特殊点(在最大值,或者最小值) 不是特殊点就继续二分,看哪一边依然还是旋转的。往旋转那边走。旋转的判定条件就是nums[l] > nums[r].class Solution { public int findMin(in

2020-07-22 21:17:10 283

原创 用O(n)复杂度求第k大的值

算法思想取一个pivot,以pivot将原数组划分为两部分大小分别是x和y,确定了pivot的位置,现在知道pivot是第y+1大,如果k比y+1小,继续往右边找,如果k比y+1大,往左边找,如果k等于y+1,说明找到了。主定理(master theorem)假设有递推表达式 T(n)=aT(nb)+f(n)T(n)=aT(\frac n b)+f(n)T(n)=aT(bn​)+f(n) ,其中nnn为问题规模,aaa为递推的子问题数量, nb\frac n bbn​为每个子问题的规模(假设每个子问题

2020-07-19 22:56:23 353

原创 使用smartdns加速DNS域名解析

简介SmartDNS是一个运行在本地的DNS服务器,SmartDNS接受本地客户端的DNS查询请求,从多个上游DNS服务器获取DNS查询结果,并将访问速度最快的结果返回给客户端,提高网络访问速度。 同时支持指定特定域名IP地址,并高性匹配,达到过滤广告的效果。与dnsmasq的all-servers不同,smartdns返回的是访问速度最快的解析结果。 (详细差异请看FAQ)支持树莓派,openwrt,华硕路由器,windows等设备。具体方法因为作者用的是Arch系统, 直接用如下命令安装y

2020-07-04 21:13:35 10921

原创 Leetcode每日一题 1431. 拥有最多糖果的孩子

给你一个数组 candies 和一个整数 extraCandies ,其中 candies[i] 代表第 i 个孩子拥有的糖果数目。对每一个孩子,检查是否存在一种方案,将额外的 extraCandies 个糖果分配给孩子们之后,此孩子有 最多 的糖果。注意,允许有多个孩子同时拥有 最多 的糖果数目。示例 1:输入:candies = [2,3,5,1,3], extraCandies = 3输出:[true,true,true,false,true]解释:孩子 1 有 2 个糖果,如果他得到所有

2020-06-01 11:23:48 246

原创 101 leetcode 对称二叉树

题意:给定一个二叉树,检查它是否是镜像对称的。解法一:核心思想,中序和先序(后序)组合,可以唯一确定一颗二叉树。有了这个思路,既然镜像对称,那么从左往右和从右往左得到的序列应该是一样的。因为树中的元素没有限制,可以存在相同元素,所以需要添加一个条件,把有兄弟的那些空节点用null表示。这样保证了一颗二叉树一定是满二叉树,虽然一些节点是null。class Solution { public boolean isSymmetric(TreeNode root) { seq1 =

2020-05-31 18:35:35 111

原创 Vim教程 vimtutor 1.7练习笔记

Lesson 1光标可以使用方向键和hjkl控制。记忆提示:h是最左边所以表示左,l是最右边表示右,j像一个向下的箭头,所以向下。q! 放弃所有修改,wq保存修改。x删除字符i 在光标前插入,A 在行末附加,也就是说A可以直接把光标移到行末。Lesson 2dw 删除单词。 w移动到下个单词的开头,e移动到下个单词的末尾。d$ 删除该行光标后的所有字符。de 删除从光标开始到该单词结束。0 移到行开头。可以在w前面加一个数字,表示重复多少次,3w表示移动到3个单词后面,d

2020-05-14 20:48:19 307

原创 四川大学计算机网络研究生期末考试

2018年简答题10个,每个7分1. csma/cd协议发送第一帧要等间隔发送第二帧进行退避算法,为什么?2. 带宽4kbps,传输时延20ms,为了让带宽利用率到达50%,求帧长。3. RIP用UDP,OSPF用IP协议,BGP用TCP ,为什么?RIP周期发送,而BGP不用,为什么?4. ARP中a要b的信息,a向局域网发送,谁回复,为什么?5. 交换机自学习,有个主机只收不发,能...

2019-12-31 12:54:27 971

原创 习题11-5 指定位置输出字符串

本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。函数接口定义:char *match( char *s, char ch1, char ch2 );函数match应打印s中从ch1到ch2之间的所有字符,并且返回ch1的地址。裁判测试程序样例:#include <stdio.h>#d...

2018-12-31 13:03:24 4745 3

原创 习题10-7 十进制转换二进制(递归实现)

本题要求实现一个函数,将正整数n转换为二进制后输出。函数接口定义:void dectobin( int n );函数dectobin应在一行中打印出二进制的n。建议用递归实现。裁判测试程序样例:#include <stdio.h>void dectobin( int n );int main(){ int n; scanf("%d", &n...

2018-12-31 12:43:55 1596 2

原创 习题5-7 使用函数求余弦函数的近似值

本题要求实现一个函数,用下列公式求cos(x)的近似值,精确到最后一项的绝对值小于e:cos(x)=x​0/0!−x2/2!+x4/4!−x​6/6!+⋯函数接口定义:double funcos( double e, double x );其中用户传入的参数为误差上限e和自变量x;函数funcos应返回用给定公式计算出来、并且满足误差要求的cos(x)的近似值。输入输出均在双精度范围内。裁...

2018-12-31 01:02:34 2306

原创 习题10-8 递归实现顺序输出整数

本题要求实现一个函数,对一个整数进行按位顺序输出。函数接口定义:void printdigits( int n );函数printdigits应将n的每一位数字从高位到低位顺序打印出来,每位数字占一行。裁判测试程序样例:#include <stdio.h>void printdigits( int n );int main(){ int n; s...

2018-12-31 01:00:55 583

原创 计算机网络笔记

计算机网络的目的是资源共享。只要能实现远程信息处理的系统或进一步能达到资源共享的系统,都是计算机网络局域网使用广播技术,广域网使用点对点交换技术高速链路提高的是发送速率不是传播速度计算机软件是资源子网交换机路由器网桥是通信子网世界上最早的网络是ARPAnet广播网络共享广播信道,工作在数据链路层,不存在路由选择问题,可以不要网络层,但需要服务访问点协议由语法语义和同步组成可靠服务...

2018-12-31 00:46:45 254

原创 数据结构笔记

数据项是构成数据元素的不可分割最小单位。数据结构三要素:逻辑结构、存储结构和数据的运算。逻辑结构分为线性和非线性循环队列是顺序表实现的ADT三元素 数据对象、数据关系、基本操作集时间和空间都与问题规模有关算法是对特定问题求解步骤的一种描述相同复杂度,复杂度小的算法必然时间上优于复杂度大的算法线性表:元素类型相同,序列,逻辑结构线性表的顺序存储结构是一种随机存储的存储结构双链表比...

2018-12-31 00:45:43 730

原创 408计算机综合重要笔记

text是代码段data是初始化了的变量bss是未初始化的变量heap是用来动态内存分配的堆空间本地广播地址是255.255.255.255单模光纤 远距离,成本高多模光纤 近距离基带同轴电缆 局域网宽带同轴电缆 有线电视系统双绞线 便宜,模拟数字都可以RIP算法无限计数原因 网络出现故障收敛慢,更新过程的收敛时间长简单网络管理协议(SNMP),应用层彩票调度算法,每个待运...

2018-12-31 00:43:57 6703 1

原创 操作系统笔记

操作系统四大特征:并发、共享、虚拟、异步共享有互斥共享和同时访问并发和共享是操作系统最基本特征虚拟分为时分复用和空分复用库函数是应用程序的一部分,可以运行在用户态分时系统最关键的是系统响应时间实时系统通常用抢占式优先级高者优先中断是外中断,异常是内中断系统调用可以被看作特殊的公共子程序用户态到核心态要用到访管指令,它不是特权指令,可以在用户态运行用户态到核心态由硬件中断机制完成...

2018-12-31 00:39:46 769

原创 习题5-6 使用函数输出水仙花数

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1​3​​ +5​3​​ +3​3​​ 。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。函数接口定义:int narcissistic( int number );void PrintN( int m, int n ...

2018-12-31 00:22:50 2434

原创 习题8-3 数组循环右移

本题要求实现一个对数组进行循环右移的简单函数:一个数组a中存有n(>0)个整数,将每个整数循环向右移m(≥0)个位置,即将a中的数据由(a​0​​ a​1​​ ⋯a​n−1​​ )变换为(a​n−m​​ ⋯a​n−1​​ a​0​​ a​1​​ ⋯a​n−m−1​​ )(最后m个数循环移至最前面的m个位置)。函数接口定义:int ArrayShift( i...

2018-12-31 00:19:42 3780

原创 习题8-6 删除字符

本题要求实现一个删除字符串中的指定字符的简单函数。函数接口定义:void delchar( char *str, char c );其中char *str是传入的字符串,c是待删除的字符。函数delchar的功能是将字符串str中出现的所有c字符删除。裁判测试程序样例:#include <stdio.h>#define MAXN 20void delchar( char...

2018-12-30 21:22:27 1366 3

原创 习题5-5 使用函数统计指定数字的个数

本题要求实现一个统计整数中指定数字的个数的简单函数。函数接口定义:int CountDigit( int number, int digit );其中number是不超过长整型的整数,digit为[0, 9]区间内的整数。函数CountDigit应返回number中digit出现的次数。裁判测试程序样例:#include <stdio.h>int CountDigit( i...

2018-12-30 19:42:02 2235 2

原创 20180117学习笔记

什么是ORM?几乎所有的商业软件都要存储数据,多年来,Relational Database Management System(RDBMS)一直是开发者寻求的数据存储。ORM是允许开发者使用面向对象的编程语言访问RDBMS数据的一系列技术。可用的RDBMS包括SQL Server, Oracle, DB2, MySQL等等。这些数据库系统有一些共性。每个数据库系统都支持一个或多个数据库。数据...

2018-02-17 19:58:11 133

原创 20180116学习笔记

添加外键的语句:ALTER TABLE 表名ADD CONSTRAINT 外键名FOREIGN KEY (需要设为外键的字段)REFERENCES 参考表名(参考字段);删除外键的语句:ALTER TABLE 表名DROP FOREIGN KEY 外键名;添加唯一键的语句:ALTER TABLE 表名ADD UNIQUE 唯一键名 (字段1, 字...

2018-02-17 19:57:45 135

原创 20180215学习笔记

事务提供了一种机制,可用来将一系列数据库更改归入一个逻辑操作。更改数据库后,所做的更改可以作为一个单元进行提交或取消。事务可确保遵循原子性、一致性、隔离性和持续性(ACID)这几种属性,以使数据能够正确地提交到数据库中。 使用事务机制的好处非常明显,例如银行转账之类的交易操作中,事务有着重要的作用。事务的成功取决于事务单元帐户相互依赖的操作行为是否能全部执行成功,只要有一个操作行为失败,整个事务...

2018-02-17 19:57:01 132

原创 dijkstra算法求最短路径

一、所需数据结构1、Bool Final[v] if v找到最短最路径,则值为True;2、D[v] 表示v到v0的最短路径;3、dis[v][w] 表示v到w的边长度,如果v与w没有直接相连则为INF。二、算法描述1、初始化,Final数组除v0点其余全部为False,D[v]=dis[v0][v];2、从D[]中选出最小的且没找到最短路径的点v,即min(D[])...

2018-02-17 19:56:09 507

原创 Tesseract 4.0 compiled in Ubuntu 16.04

1、If they are not already installed, you need the following libraries (Ubuntu 16.04/14.04):sudo apt-get install autoconf automake libtoolsudo apt-get install autoconf-archivesudo apt-get install...

2018-02-17 19:55:25 176

原创 利用投影法基于Opencv的文本定位

针对发票识别之类的自然环境中文本识别,对结果影响最大的应该是文本定位的问题。下面本人参考 BoyTNT 的基于OpenCV进行文本分块切割(C#)本人写了一份c++的代码 仅供参考 因为有一些干扰,所以文本定位并不是很完美,可以通过二值化的方法去掉一些干扰,以后再改进。代码#include <opencv2\opencv.hpp&...

2018-02-17 19:54:25 2848

转载 VS2013 Opencv2.4.13 配置

解压Opencv2.4.13到C盘根目录添加系统变量,在path下添加 C:\opencv\build\x86\vc12\bin 新建解决方案,打开属性管理器1、debug: 1)VC++目录->包含目录 添加C:\opencv\build\includeC:\opencv\build\include\opencvC:\opencv\build\include\opencv2 2)VC+

2016-10-15 03:47:44 262

原创 VS2013 Update5 + Tesseract 3.04 API 编译 配置

编译在C盘创建一个文件夹叫tesseract-build 切换到该文件夹下,输入下面命令git clone https://github.com/charlesw/tesseract-vs2012.git 打开 VS 2013 Developer Command Prompt (VS2013 开发人员命令提示)切换到C:\tesseract-build\tesseract-vs2012 执行下

2016-10-15 03:46:57 1524

原创 在Ubuntu下配置Yaafe

安装Anaconda下载地址 Anaconda安装方法打开终端cd到文件所在目录,然后输入下面命令bash Anaconda2-4.1.1-Linux-x86_64.sh 如果下的是Anaconda3,就用bash Anaconda3-4.1.1-Linux-x86_64.sh 安装过程中会让你输入回车或者yes,注意一下就行。 安装完毕以后。 在终端输入 conda 确定已经安装完成,如果提示

2016-09-29 21:49:57 424 3

原创 Coding+Hexo搭建个人静态博客

安装环境 node.js Gitcoding创建项目 注册 创建项目 开启coding pages开始创建一个文件夹(作为博客根目录) 在文件夹中右键启动git bashnpm install -g hexo-clihexo initnpm installhexo s打开浏览器 http://localhost:4000 就能访问属于你自己的博客了。 PS:楼

2016-09-29 21:47:20 741

空空如也

空空如也

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

TA关注的人

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