
算法
西夏一品堂
对新技术持开放且慎重的态度,开放在于新技术到来时有自己的尝试与思考,慎重在于对没有多大价值的所谓的新技术持有自己的判断。绝大部分所谓的新技术都没有多大价值。
展开
-
插入排序
public class InsertionSort { /** * 插入排序的基本思想是:每步将一个待排序的纪录,按其关键码值的大小插入前面已经排序的文件中适当位置上, * 直到全部插入完为止。 */ public static void sort(int[] arr) { for(int curr=1;curr<arr.length;curr++) { int原创 2015-05-10 21:18:35 · 691 阅读 · 0 评论 -
【面试题】不用map,求出现频率超过总数一半的数字
有一个整数的数组,求出现频率超过总数一半的数字,没有找到,则返回-1 如:[1,2] => -1[1,1,2,3] => -1(没有超过一半,总数4,出现2次,没有超过一半)[2,1,2] => 2 (总数3,2出现了2次,超过了一半)不要用map,用算法的方式做当然了,最简单的方法是先排序,做法如下:public static int getAppe原创 2015-04-19 13:59:34 · 1049 阅读 · 0 评论 -
【面试题】判断字符串是否匹配一定的模式
import java.util.HashMap;import java.util.Map;import java.util.Stack;public class Mode { /** * * 一个字符串只会出现[]{}()六个字符的一个或多个 * 现在要判断字符串是否匹配一定的模式 * 如果字符串里面的字符是成对出现或者成对并排或者成对嵌套出现,且括号的方向要正确原创 2015-04-18 21:35:37 · 1574 阅读 · 0 评论 -
【面试题】只替换字符串中连续出现2次的地方
现在要把字符串中连续出现2个a的替换成bb如admin => admin 不替换,只出现一次aaadmin => aaadmin 不替换,a连续出现了3次aadmin => bbdmin 替换了aa2aa => bb2bb 替换了aadminaaadminaaaadmin => bbdminaaadminaaaadmin 第一个a出现了2次,被替换了,后面的出现次数不是2,原创 2015-04-18 14:52:57 · 1255 阅读 · 0 评论