`
文章列表

拼写检查

在word中有一个功能就是拼写检查。现在给你一个好几兆的文件,问你怎么实现这个拼写检查的功能。
今天早上面试淘宝,主要考察了两个算法。这个是第二个:逆置一个String类型的字符串。  我想了两个思路: (1) 创建一个临时字符串temp, 循环temp += str.charAt(leng--); public String reverse(String str) { String temp = ""; int length = str.length(); for(int i=length-1;i > 0; i--) { temp += str.charAt(i); } return temp; }   (2) 先 ...
自从Dropbox被墙之后,一直在寻找替代者。 有段时间用了SugarSync,本来感觉不错,但是免费版下,它的同步机器只能是两台。在公司我同时有两台电脑,而在家也有一台,无语了。 忽然间发现金山快盘   用了一段时间了,感觉还好,就是有一次出现bug,说已经上传同步好了,但是等我到了公司,发现根本没有上传。   就一次 还可以忍受了。下次我自己注意点就是了。   发个邀请链接吧: http://k.wps.cn/register/?invite=tggiio   顺便让我赚点空间 thx :)                 
目前正在看Struts的源码,希望有一天能写出其中的接收转发的完整功能。 不小心看到下面的文字,感觉不错,就转过来了。 同时,有颜色的字体是我自己对其做的笔记。     Struts1.2依然是应用很广的框架,熟悉其基本的控制流程是必要的:[目前最新式1.3,但是也是08年更新的了。没办法,Apache已经全面停止对Struts1的更新了。]一、ActionServlet的初始化ActionServlet作为Struts组件的前端控制器,由于web.xml的相应配置:<load-on-startup>0</load-on-startup>在应用一加载时即会被实例 ...
转帖过来的 直接看程序吧 public class StringUtil { public void demo() { // String stringInfo = // "{infoNum='10' EdwardBlog='http://hi.baidu.com/Edwardworld' topicLength='20' titleShow='yes' EdwardMotto='I am a man,I am a true man!' /}"; String stringInfo = "Madam, I' ...
题目:采用递归的方法给正整数n加上分隔符',' 比如 1234567 ==> 1,234,567 其中putCommas()是我自己的方法,insertCommas()是google出来的一个老外写的方法。我的分隔符是从前面开始加的,比如上面的例子,我是先在1之后加上',',而老外那个insertCommas是从后面开始加上去的 先贴上代码吧 等下再分析 public class Test { public static void main(String[] args) { int i =1234; String value = i + ""; ...
这是从1到n的~ 从n到1的略~ 交换一下一句话的位置即可 public class Test { public static void main(String[] args) { outputOdd(10); } public static void outputOdd(int n) { if(n>1) { outputOdd(n-1); } if(n%2 != 0) System.out.println(n); } }
定义一: 1)0,1,2,3,4,5,6,7,8,9∈N 2)如果n∈N,那么n0,n1,n2,n3,n4,n5,n6,n7,n8,n9∈N 3)只有以上定义的这些才是自然数 问题:以上的定义将00,001,00001等也包括在自然数之内了。修改定义,使得所有的自然数都不以0开头。 我的答案: 1)0,1,2,3,4,5,6,7,8,9∈N 2)如果n∈N,那么1n,2n,...9n∈N 3)只有以上定义的这些才是自然数
逆置单链表可能是一个非常非常常见的数据结构的题目了 蛮经典的 在这里再写一次。 其实我还是写了蛮久的,汗一个我的编程能力~ 只放了main方法 不过够了 public static void main(String[] args) { Node a1 = new Node("a",null); Node a2 = new Node("b",null); Node a3 = new Node("c",null); Node a4 = new Node("d",null); a ...
思路: 在百度知道上面有个人是这么回答的: 1:设置一个BO0L性变量 res=true; 2:读每个单向链表的第一个字符 *a,*b 3:*a=*b?next():res=false; 4:继续到2; 我觉得吧,对于像int short等比较好比较的类型的链表,我直接先排序然后再比较。如果是String类型的,也可以操作,比如按照字符的大小进行排序然后在比较,这样也可以。如果是自定义类型的链表,比如 List<User>,这个时候可以自定义排序的方法,比如按照User ID或者username进行排序。 如果不进行排序,那么只能进行n * m次比较了。其中n m分别为两个链表 ...
原题:根据有序表L2的值删除链表L1的节点。比如:L1 = {A,B,C,D,E,F}, L2={1,2,3,10} 那么删除之后L1={A,E,F},因为节点10不存在 下面是节点类(也为了其他测试的用途,实现了一个copy接口) public class Node implements Cloneable { public String value; public Node next; public Node(String value, Node next) { this.value = value; this.next = next; } ...
思路一:新建一个头节点,将原来的两个链表的节点依次插入到新节点之后~ (也有其他的思路,比如不新建一个头节点,直接在原来的基础之上进行交换,但是感觉思路以及实现上面没有第一个思路来得清晰简单。 以后再实现吧~) 一个bug 如果两个链表中有一个为空时 此时会出错 解决思路: 就检测第一个链表。如果为空,则直接返回第二个链表。无论第二个是否为空都行。 这个是节点 public class IntNode { int value; IntNode next; public IntNode(int value, IntNode next) { this.value ...
Global site tag (gtag.js) - Google Analytics