自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 Shell变量

运行shell脚本的两种方法:1.作为可执行程序将脚本保存为shell.sh,并cd到相应目录:chmod+x./test.sh#使脚本具有执行权限./test.sh#执行脚本执行结果:2.作为解释器参数直接运行解释器,其参数就是shell脚本的文件名,如/bin/sh test.sh/bin/php test

2016-11-12 20:03:48 280

原创 链表中环的入口地址

题目:一个链表中包含环,如何找出环的入口节点。思路:①假设链表中存在环,先求出环中的节点个数n。②用快慢指针找到环的入口:快指针先行走n步,慢指针再行走,当快慢指针相遇时,就是链表中环的入口。 public ListNode EntryNodeOfLoop(ListNode pHead) { if(pHead == null){ return

2016-09-01 15:36:59 273

原创 字符流中第一个不重复的字符

题目:请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。思路:用哈希表来保存字符在字符流中的位置。用字符的ASCII码作为哈希表的键值,而把字符对应的位置作为哈希表

2016-08-30 19:36:50 241

原创 正则表达式匹配

题目:请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配。思路:当模式中的第二个字符不是“*”时:1、如果字符串第一个字符和模式中的第一个

2016-08-30 16:08:29 323

原创 构建乘积数组

题目:给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。思路:B[i] = A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1];C[i] = A[0]*A[1]*...*A[i-1],D[i] = A[i+1]*.

2016-08-30 13:52:37 170

原创 数组中重复的数字

题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。思路:用哈希表解决的时间复杂度和空间复杂度为O(n)。因为数组中的数字都在0到n-1的范围内,我们可以重排这个数组。从头到尾

2016-08-30 10:05:44 317

原创 把字符串转换成整数

题目:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 。输入描述:输入一个字符串,包括数字字母符号,可以为空。输出描述:如果是合法的数值表达则返回该数字,否则返回0。思路:①判断非法字符串;②把字符转化为数字:sum = sum*10 + ch[i] - '0' + 0public int StrToInt

2016-08-29 20:30:08 345

原创 数字在排序数组中出现的次数

题目:统计一个数字在排序数组中出现的次数。思路:总体思想是二分查找和递归。把统计数字K的出现次数转换为查找第一个K和最后一个K。 public int GetNumberOfK(int [] array , int k) { if(array == null || array.length <= 0){ return 0; } int

2016-08-27 14:27:29 312

转载 Java并发编程--Volatile详解

摘要     Volatile是Java提供的一种弱同步机制,当一个变量被声明成volatile类型后编译器不会将该变量的操作与其他内存操作进行重排序。在某些场景下使用volatile代替锁可以减少代码量和使代码更易阅读。 Volatile特性  1.可见性:当一条线程对volatile变量进行了修改操作时,其他线程能立即知道修改的值,即当读取一个volatile变

2016-08-26 22:57:10 398

原创 两个链表的第一个公共节点

题目:输入两个链表,找出它们的第一个公共结点。思路:①先遍历两个链表得到它们的长度,求出长链表比短链表多几个;②第二次遍历,在长链表上先走若干步,接着同时在两个链表上遍历,找到的第一个相同的结点就是它们的第一个公共结点。public class ListNode { int val; ListNode next = null; ListNode(int val)

2016-08-26 20:13:03 351

原创 数组中的逆序对

题目:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。思路:总体思想是递归+归并。先把数组分隔成子数组,先统计出子数组内部的逆序对的数目,然后再统计出两个相邻子数组之间的你修帝的数目。在统计的过程中,还需要对数组进行排序,这里用归并排序。对于两个数组的比较,我们可以用两个指针分别指向两个子数组的末尾,并每次比较两个指针的

2016-08-26 18:19:25 378

原创 第一个只出现一次的字符

题目:在字符串中找出第一个只出现一次的字符。思路:用哈希表来存储每一个出现的字符以及出现的次数,哈希表的键值(Key)是字符,值(value)是该字符出现的次数。我们需要从头开始扫描字符串两次:第一次扫描每扫描到一个字符就在哈希表的对应项中把次数加1;第二次每扫描到一个字符就从哈希表中得到该字符出现的次数。public static char getFirstNotRepeatingCha

2016-08-26 16:55:19 326

原创 连续子数组的最大和

题目:输入一个整形数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。思路:解法一:举例分析数组的规律 public int FindGreatestSumOfSubArray(int[] array) { if(array == null || array.length <= 0){

2016-08-26 14:45:10 391

原创 数组中出现次数超过一半的数字

题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。思路:数组中有一个数字出现次数超过数组长度的一半,那么它出现的次数比其他所有数字出现次数的和还多。我们可以在遍历数组的时候保存两个值:一个数组中的一个数字,一个是次数。从第一个元素

2016-08-26 10:16:42 174

转载 dubbo 教程

先给出阿里巴巴dubbo的主页:http://code.alibabatech.com/wiki/display/dubbo/Home-zh自己的demo下载地址:http://download.csdn.net/detail/u012049463/67633151. Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及S

2016-04-19 23:37:01 380

原创 Redis学习(一)

一.redis简介Redis是基于内存、可持久化的日志型、key-value高性能存储系统。关键字(Keys)是用来标识数据块。值(Values)是关联于关键字的实际值,可以是任何东西。有时候你会存储字符串,有时候是整数,还有时候你会存储序列化对象(使用JSON、XML等)。在大多数情况下,Redis会把值看做是一个字节序列,而不会关注它们实质上是什么。Redis支持存储的value类

2016-04-17 22:13:48 291

空空如也

空空如也

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

TA关注的人

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