- 博客(140)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
原创 面试题35:第一个只出现一次的字符
package com.abuge;/** * 面试题35:第一个只出现一次的字符 * 题目:在字符串中找出第一个只出现一次的字符,如输入"abaccdeff",则输出'b' */import java.util.HashMap;public class GetFirstOnceChar { public static char getFirstOnce(String str)
2014-09-05 10:05:29
600
原创 面试题34:丑数
package com.abuge;public class GetUglyNum { //得到三个数的最小值 public static int getMin(int num1, int num2, int num3) { int min = (num1 > num2) ? num2 : num1; min = (min > num3) ? num3 : min;
2014-09-04 20:05:02
633
原创 面试题33:把数组排成最小的数
package com.abuge;/** * 面试题33:把数组排成最小的数 * 输入一个正整数数组,把数组里所有数字拼接成一个数,打印成能拼接出所有数字中最小的一个。 * 例如输入数组{3, 32, 321}则打印三个数字能排成的最小数字 * 思路: * 1、将整型数转换为字符串,可以解决隐形大数问题 * 2、制定比较新规则 */import java.util.Arrays
2014-09-04 11:26:13
563
原创 华为机试题(字符串处理集锦)
package com.abuge;import java.util.Iterator;import java.util.LinkedHashSet;import org.junit.Test;/** * 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。 比如字符串“abacacde”过滤结果为“
2014-08-21 15:23:07
1183
原创 LeetCode008:Valid Number(正则表达式的运用)
package com.abuge;import org.junit.Test;public class Solution { public boolean isNumber(String s) { String str = s.trim(); if(str.isEmpty()) { return false; } //正则表达式的运用: /*第一
2014-08-12 21:48:47
986
原创 给定一个日期,求该日期的前一天和后一天(Java中日期类的用法)
public String getNextDay(String specialDate) { Date utilDate = null; try { utilDate = new SimpleDateFormat("yyyyMMdd").parse(specialDate); } catch (ParseException e) { e.printStackTrac
2014-08-12 14:34:58
4022
原创 LeetCode007:WordLadder
参考:http://www.cnblogs.com/springfor/p/3893499.html题目:Given two words (start and end), and a dictionary, find the length of shortest transformation sequence from start to end, such that:O
2014-08-07 16:15:03
558
原创 LeetCode006:WordSerarch
package com.abuge;/** * Given a 2D board and a word, find if the word exists in the grid.The word can be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those h
2014-08-04 17:14:46
579
原创 LeetCode005:SingleNumber
package com.abuge;import java.util.Arrays;/** * 需求: * 给定一个整型数组,只有一个元素出现了一次,其它每个元素出现两次,找出这个元素,要求时间复杂度为O(n),不用辅助内存 * @author AbuGe * */public class Solution { public int singleNumber(int[] A
2014-08-04 15:28:34
485
原创 华为机试题:去掉最大最小值
package com.abuge;import java.util.Arrays;import java.util.Comparator;import java.util.Scanner;import org.junit.Test;class MyCompare implements Comparator{ @Override public int compare(Stri
2014-08-04 13:46:45
744
原创 华为笔试中级题:亮着电灯的盏数
package com.abuge;import java.util.Scanner;import org.junit.Test;/** * 样题-中级题:亮着电灯的盏数 一条长廊里依次装有n(1 ≤ n ≤ 65535)盏电灯,从头到尾编号1、2、3、…n-1、n。每盏电灯由一个拉线开关控制。 开始,电灯全部关着。有n个学生从长廊穿过。第一个学生把号码凡是1的倍数的电灯的开关
2014-08-04 11:58:42
1437
原创 LeetCode004:BinaryTreePostorderTraversal
package com.abuge;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import org.junit.Test;/** * 有一个二叉树,返回它的后序遍历的值 * 例如: * 二叉树{1,#, 2, 3} * 1 * \ * 2
2014-08-01 15:12:08
499
原创 华为机试题——正数减法
package com.abuge;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.math.BigDecimal;import org.junit.Test;/** * 3 正数减法 问题描述: 两个任意长度的
2014-08-01 13:32:42
633
原创 华为机试题——字符串处理
package com.abuge;import java.util.Comparator;import java.util.TreeSet;import org.junit.Test;/** * 2 字符串处理转换 问题描述: 在给定字符串中找出单词( “单词”由大写字母和小写字母字符构成,其他非字母字符视为单词的间隔,如空格、问号、数字等等; 另外单个字母不算单词
2014-07-31 15:04:02
706
原创 华为机试题——字符串循环转换
package com.abuge;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.util.HashMap;import org.juni
2014-07-31 15:02:20
754
原创 华为机试题(替换字符串)——Java解法
package com.abuge;import java.io.IOException;import java.io.InputStream;/** * 题目要求:输入一个字符串,然后再输入一个整数,就是替换字符串的次数,然后依次输入要替换的字符串 * @author AbuGe *例如: *输入: *abcdef *2 *ab->xy *cd->pq *输出: *x
2014-07-29 22:06:11
1161
原创 LeetCode_003:Sort List
package com.abuge;/** * 需求: * 对一个链表进行排序,要求时间复杂度为O(nlogn),空间复杂度为O(1) * @author AbuGe *思路: *1、利用数组存储链表的节点值 *2、通过比较节点的属性值,利用快速排序重新排列节点值 *3、重构链表顺序 * *注:考虑空链表和一个节点的情况,注意空指针异常 *定义数组不能为空。 */cla
2014-07-17 15:10:03
480
原创 sleep()和wait()有什么区别?
package com.abuge;/** * 需求:sleep()和wait()有什么区别? * 第一种解释: * 都是用来进行线程控制,本质区别:sleep()不释放同步锁,wait()释放同步锁 * sleep不出让系统资源,wait是进入线程池等待,出让系统资源,其它线程可以占用CPU。一般 * wait()不会加时间限制,因为如果wait()线程的运行资源不够,再
2014-07-16 21:44:19
820
原创 LeetCode_002:Evaluate Reverse Polish Notation
package com.abuge;import java.util.Stack;/** * 需求: * 给定一组逆波兰表达式,求其表达式的值 * 思路&步骤: * 1、利用出栈和入栈实现表达式 * 2、对运算符进行判断,将字符串转换成int型,进行运算 * 3、考虑极限情况(只有一个字符串)以及减法和除法的顺序 * @author AbuGe * */public cl
2014-07-11 23:44:59
468
原创 LeetCode_001:Reverse Words in a String
package com.abuge;/** * 需求: * 输入一个字符串,将其反转。 * 例: * s = "the sky is blue" * return "blue is sky the" * 方法&步骤: * 1、 将字符串首尾空格去除 * 2、利用正则表达式,将字符串转换成字符串数组 * 3、反转字符串数组 * @author AbuGe * */publ
2014-07-10 20:44:41
509
原创 《程序员面试金典》之压缩字符串
package com.abuge;/** * 需求: * 利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能,若压缩后的字符串没有变短,则返回原先的字符串。 * 如:aabccccaaa会变为a2b1c5a3 * @author AbuGe * */public class CompressDemo { public static String compressD
2014-07-07 10:09:59
657
原创 阿布学排序之冒泡排序
package com.abuge;/** * 冒泡排序: * 设数组长度为N * 方法1: * 步骤:(升序) * 1、比较相邻两个数如果前面的数据大于后面的数据,则交换 * 2、这样数组的第0-N-1个数据进行遍历后,最大的一个数据就在第N-1个位置 * 3、N=N-1,如果N不为0,就重复执行前面两步,否则排序完成 * * 方法2: * 设置循环标志,如果有一趟发生了
2014-06-24 10:05:20
507
原创 阿布学排序之希尔排序
package com.abuge;/** * 希尔排序: * 实质:分组插入排序,又称为缩小增量排序 * 思想: * 先将整个待排元素序列分割成若干个子序列(由相隔某个"增量"的元素组成的)分别进行直接插入排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行直接插入排序。 * 因为直接插入排序是在基本有序的情况下(接近最好情况)效率是很高的。 * 第一种方法(把一组元
2014-06-23 16:08:43
489
转载 Myeclipse中修改servlet JSP等模板的方法
Myeclipse中修改servlet JSP等模板的方法打开Myeclipse的安装路径,在plugins目录下,找到com.genuitec.eclipse.wizards这个文件,双击打开(不要解压,直接打开就行),找到templates这个文件夹,就可以在里面修改相应的模板了。修改文件的模板,个人感觉挺好的,比如:jsp默认的模板的编码方式是ISO-8859-1,如果我们新
2014-06-11 11:55:10
439
原创 阿布学排序之直接插入排序
package insertsort;/** * 需求:直接插入排序 * 思想:每次将一个待排序的记录按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止 * 步骤:设数组为a[0..n-1] * 1、初始时,a[0]自成一个有序区,无序区为a[1...n-1]。令i=1 * 2、将a[i]并入到当前的有序区a[0...i-1]中形成a[0...i]的有序区
2014-06-02 17:09:44
508
原创 阿布学排序之直接选择排序
package select;/** * 需求:直接选择排序 * 方法:将数据分为有序区和无序区,然后从无序区选一个最小元素,放在有序区的最后 * 步骤:设数组为a[0...n-1] * 1、初始时,数组全为无序区a[0...n-1],令i=0; * 2、在无序区a[i...n-1]中选择一个最小元素,并将其与a[i],交换之后a[0...i]就形成了一个有序区 * 3、i++重复2
2014-05-30 11:49:20
582
原创 阿布学排序之归并排序
package merge;import javax.lang.model.element.Element;/** * 归并排序: * 归并排序的效率是比较高的,设数列长为N,将数列分开成小数列一共需要logN步,每步都是一个合并有序数列的过程,时间复杂度为O(N),故一共为 * O(NlogN). * @author AbuGe * */public class Merge
2014-05-19 10:52:33
773
原创 字符串转十六进制与十六进制转字符串示例
package stringtohex;/** * java中使用16位(2个字节)的Unicode字符集编码作为字符编码格式。 * char类型的值也可直接作为整数类型的值来使用,但它是一个16位的无符号整数,即全部是正数,范围是0-65535 * 如果把0-65535内的一个int整数赋给char类型变量,系统会把这个int整数当成char类型变量 * @author AbuGe
2014-05-17 09:55:29
3584
原创 阿布学排序之快速排序
package quicksort;/** * 快速排序是一种划分交换排序,采用了分治策略 * 思想: * 1、先从数列中取出一个数作为基准数 * 2、将比这个数大的数全都放到它的左边,比它小的全都放它右边 * 3、再对左右区间重复第二步,直到各区间只有一个数 * @author AbuGe * 例: * 0 1 2 3 4 5 6 7 8 9 * 72 6 5
2014-05-16 11:26:18
434
原创 阿布学排序之堆排序
/** * 需求:堆排序的实现 * 知识储备: * 满二叉树:除叶子结点外的所有结点均有两个子结点,所有叶子结点必须在同一层上。 * 完全二叉树: * 若二叉树的深度为h,除第h层外,其它各层(1~h-1)的节点数都达到最大个数,第h层所有结点都连续集中在最左边。 * 完全二叉树是有满二叉树而引出来的,对于深度为K的,有N个结点的二叉树,当且仅当每一个结点都与深度为K的满二叉树中编号从
2014-05-15 17:08:12
686
原创 POJ1035 Spell checker
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Arrays;import java.util.List;imp
2014-05-07 17:46:38
817
原创 第六届华为创新杯编程大赛-----电话号码本的设计
package contest;import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException { //用一个Map集合存储电话本中的姓名和电话号码 HashMap map = new LinkedHashMap()
2014-05-05 20:28:12
1066
转载 C++中的enum详解
如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。举个例子来说明一吧,为了让大家更明白一点,比如一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,那么你就可以定义一个枚举类型来表示它!enum box{pencil,pen};//这里你就
2014-04-29 17:50:09
1065
转载 判断一个字符串中的字符是否唯一(只用基本数据结构)
算法练习:判断一个字符串中的字符是否唯一(只用基本数据结构)view sourceprint?001package codinginterview;002 003/**004 *005 * 实现一个算法来判断一个字符串中的字符是否唯一(即没有重复).006 * 不能使用额外的数据结构。 (即只使用基本的数据结构)007 * @author mingdong.che
2014-04-21 17:02:18
1225
linux文本模式显示问题
2013-12-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人