自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大智若鱼

逆水行舟不进则退

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

原创 023-191-Number of bits 无符号整数中位为1的数目

191. Number of 1 BitsQuestionWrite a function that takes an unsigned integer and returns the number of ’1’ bits it has (also known as the Hamming weight).For example, the 32-bit integer ’11’ h...

2018-03-05 10:06:06 342

原创 020-142-Linked List Cycle II 判断链表是否有环并返回环的起点

ProblemGiven a linked list, return the node where the cycle begins. If there is no cycle, return null.Note: Do not modify the linked list.Follow up: Can you solve it without using extra space?...

2018-01-13 23:02:57 327

原创 019-141-Linked List Cycle 判断链表是否有环

ProblemGiven a linked list, determine if it has a cycle in it.Follow up: Can you solve it without using extra space?Solution解决方法:龟兔赛跑。快慢指针。/** * Definition for singly-linked list. * s

2018-01-13 23:01:41 276

原创 017-101-Symmetric Tree 判断树是否对称

QuestionGiven a binary tree, check whether it is a mirror of itself (ie, symmetric around its center)

2017-11-26 13:18:44 231

原创 007-100-判断两个二叉树是否相等 Same Tree

与二叉树相关的问题都可以简洁的递归方法解决

2017-11-25 11:58:43 606 1

原创 java中的强制类型转换 int转为byte

java中的基本类型的强制转换都是非常粗暴的,对于浮点型转为整型,都进行非常粗暴的截尾,对于多位数转换为少位数,也只是截断,根本不做舍入和约算。

2017-04-19 13:08:41 45711 3

原创 006-008-String to Integer(atoi) 字符串转换为整数

字符串到整型的转换,使用C语言实现

2017-04-18 12:51:48 360

原创 005-023-Merge k sorted lists 合并K个有序的链表

使用堆结构可以快速获得和删除最小值,平均效率是O(logn)

2017-04-15 16:03:59 323

原创 哈希表:一个字符串是否包含另一个字符串的所有字符

哈希表的查找和插入操作平均时间都是O(1)

2017-04-10 22:47:09 1625

原创 004-107-Binary Tree Level Order Traversal II 层序遍历二叉树之二

ArrayList内部是基于数组实现,往ArrayList头部插入一个元素意味着移动整个数组,一次插入操作需要O(n)时间。那就用LinkedList,它是基于链表的实现,往链表的头部插入一个节点只需O(1)时间

2017-04-10 22:05:49 287

原创 003-102-Binary Tree Level Order Traversal 层序遍历二叉树

树的层序遍历很简单,树可以看成图的退化,对树的广度优先遍历就是层序遍历,我们用一个队列就可以完成。

2017-04-09 13:36:01 326

原创 002-246-LRU Cache 最近最久未使用算法

当进程发生缺页,需要从SWAP(交换区)中换入所需的页到内存块中,此时内存却已满,需要将一个页面换出到SWAP中,选择这个换出页面的算法就是页面置换算法。LRU(Least Recently Used)置换算法是选择最近最久未被使用的页面予以淘汰。使用HashMap和双向链表来实现,简洁且高效。

2017-04-07 23:16:09 506

原创 001-021-merger two sorted List 归并两个已排序的链表

合并两个有序的链表,和归并排序中,合并两个有序的数组很相似。

2017-04-07 23:04:00 503

原创 BST:有序数组构建成二叉搜索树

有序数组构建成二叉搜索树,使用x=change(x)模式降序储存和顺序储存都会得到退化树。最有效保持树平衡的是,取数组中值(对于无重复元素的有序数组,中值就是数组中间元素)作为树根的值,将数组分为左右两个子数组,左子数组的数值均小于根节点,右子数组的值均大于根节点。将左子数组的中间元素作为根节点的左子树,将右子树的中间元素作为根节点的右子树,由此,形成递归关系,就能得到平衡的二叉搜索树。

2016-08-14 22:26:16 5217 1

原创 《算法》第四版《Algorithms》4th Edition 学习环境搭建

Robert Sedgewick《算法》第四版《Algorithms》4th Edition 学习环境搭建

2016-05-16 23:46:38 12643 3

原创 ubuntu搭建java开发环境

材料:jdk+eclipse一,下载jdk: http://www.oracle.com/technetwork/java/javase/downloads/index.htmleclipse: http://www.eclipse.org/downloads/下载下来的包:eclipse-java-mars-2-linux-gtk-x86_64.tar.gzjdk-8

2016-04-18 15:01:27 424

原创 (problem)SyntaxError: Non-ASCII character '\xe7' in file,but no encoding declared;

遇到的问题:             在编写python脚本的时候,添加了中文注释,编译显示错误:SyntaxError: Non-ASCII character '\xe7' in file ./select.py on line 8, but no encoding declared; see http://www.python.org/peps/pep-0263.html for det

2016-03-18 20:21:12 3591

转载 atexit函数和exit函数的理解

本文转载自:http://blog.chinaunix.net/uid-20937170-id-3447901.html按照ISO C的规定,一个进程可以登记多达32个函数,这些函数将由exit自动调用,通常这32个函数被称为终止处理程序,并调用atexit函数来登记这些函数。我们通常认为C语言的起始函数是main函数,实质上一个程序的启动函数并不一定是main函数,这个可以采用链

2016-03-02 16:07:48 453

原创 C函数指针应用之转移表(jump tables)

函数指针是指向函数的指针变量。 因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是大体一致的。函数指针有两个用途:调用函数和做函数

2016-02-21 15:21:23 2437

原创 (学习笔记)gcc编译带pthread.h头文件的源码时需要的参数

今天敲了一个小程序,编译时出现错误:undefined reference pthread_create原来由于pthread库不是Linux系统默认的库,连接时需要使用库libpthread.a,所以在使用pthread_create创建线程时,在编译中要加-lpthread参数:gcc -o test -lpthread test.c再查发现编译时参数写成 -pthread 也是可以的。

2016-02-05 17:44:13 10611

原创 配置vim,打造自己的C IDE(二)

给自己的vim添加了几个新的插件:syntastic,a.vim,autoparis,minibufexpl

2016-01-31 12:22:12 549

原创 配置vim,打造自己的C IDE

在网上看到大神们玩Vim,顿时产生兴趣,想要模仿一下,转至linux下学习C编程.本文简单讲一下我配置vim的过程,还有很多优秀的插件待发掘配置.不足之处还望指正

2016-01-29 22:29:05 28198 6

转载 环境变量 $PATH

$PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接。  编辑你的 PATH 声明,其格式为:  PATH=$PATH::::------:  你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:$source .bash_profi

2015-12-16 18:41:21 539

原创 (学习笔记)栈数据结构中压(入)栈操作(C语言实现)

在用C语言实现栈结构,实现压栈、进栈操作的时候,会碰到栈满的情况,此时需要增加栈的大小,在C语言的代码中将要用到realloc();这个函数,发现对这个函数认识模糊,查了各种资料,发现网上网友总结的内容都非常模糊,于是翻了一翻《the  C programming language》,在其附录中对realloc函数是这样描述的: “void *realloc(void *p,size_t si

2015-11-04 22:40:52 4486

原创 (学习笔记)单片机外部中断的两种模式

51单片机的外部中断有两种模式:电平触发模式和跳变沿触发模式        第一,选择电平触发时,单片机在每个机器周期检查中断源口线,检测到低电平,即置位中断请求标志,向CPU请求中断。第二,选择边沿触发方式时,单片机在上一个机器周期检测到中断源口线为高电平,下一个机器周期检测到低电平,即置位中断标志,请求中断。         区别:        电平触发模式时,中断标志寄存器不锁

2015-08-17 10:32:14 2488

原创 (学习笔记)51单片机的中断功能及其相关的寄存器

51单片机中断系统         引起CPU中断的根源,称为中断源,中断源向CPU提出中断请求,CPU暂时中断原来的事务A,转去处理事件B,对时间B处理完毕后,再回来原来的地方(断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。中断优先级决定了中断是否能够实现嵌套,52单片机一共有六个中断源中断源序号(C默认中断级别INT0

2015-08-14 15:00:08 12015

原创 51单片机电源管理寄存器PCON以及单片机的空闲、掉电和正常工作模式

①PCON       电源管理寄存器在特殊功能寄存器(SFR)中,字节地址为87H,不能位寻址。PCON用来管理单片机的电源部分,包括上电复位检测、掉电模式等。单片机复位时PCON全部被清0。位序号D7D6D5D4D3D2D1D0位符号SMODSMOD0LVDFP0FGF1GF0PDIDL

2015-07-31 15:46:06 11288 1

转载 KEIL C51 和 ANSI C 的区别

不同系列的嵌入式系统的C编译器,根据它所对应的不同芯片系列有其各自的特点,在这里,以KEIL公司的针对51系列的KEILC51编译器为例,简要说明它与ANSI-C的主要区别,其它的编译系统与ANSI-C的差别,可具体参照指定编译系统手册,找出它们的不同之处。清楚嵌入式系统的C编译器与标准 ANSI-C的区别是用C编译器系统进行嵌入式系统开发的前提条件。 不同的嵌入式C编译系 统之所以与ANSI

2015-07-30 20:08:57 3765

转载 单片机基础:keil中data,idata,xdata,pdata,code区别

从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code、data、xdata、idata以及根据51系列特点而设定的pdata类型,使用不同的存储器,将使程序执行效率不同,在编写C51程序时,最好指定变量的存储类型,这样将有利于提高程序执行效率(此问题将在后面专门讲述)。与ANSI-C稍有不同,它只分SAMLL、C

2015-07-30 03:07:11 1690

原创 C语言中变量的存储类型

一、变量的存储类型变量的存储类型(storage class)是指储存变量值的内存类型。有三个地方可以用于储存变量:普通内存、运行时堆栈、硬件寄存器用于声明变量存储类型的关键字:auto static register ①缺省存储类型在所有代码块之外的变量的缺省存储类型是静态的(static),存储于静态内存中,称为静态(static)变量。静态变量在程序运行前创建,在程序的整

2015-07-27 10:22:00 1201

转载 linux下的软件管理器之DPKG

一、简介dpkg管是Debian软件包理器的基础。dpkg与RPM十分相似,同样被用于安装、卸载和供给.deb软件包相关的信息。在dpkg管理机制上开发出apt的在线升级机制Advanced Package Tool,又名apt-get,是一款适用于Unix和Linux系统的应用程序管理器。最初于1998年发布,用于检索应用程序并将其加载到Debian Linux系统。Apt-get成

2015-07-26 00:19:45 449

空空如也

空空如也

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

TA关注的人

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