算法
文章平均质量分 77
iteye_8632
这个作者很懒,什么都没留下…
展开
-
含有重复字符的字符数组的全排列
笔试中遇到了3次这道题,题目大致是这样的:请编写代码实现有重复元素的全排列问题 。 整理了下思路,写了个java代码, 这个代码既可以针对有重复元素的全排列,又可以针对无重复元素的全排列 public class repeatAllArray { /* * allArray实现含有重复字符的数组的全排列 * list是含重复字符的数组,i是指示当前位置的游标,length是数组长度 *...原创 2012-10-17 12:51:28 · 394 阅读 · 0 评论 -
无重复字符的字符数组的全排列
这道题其实和上一篇文章《含重复字符的字符数组的全排列》代码很相似,这是做了一点改进,删除了isExist()函数,并在else块做了修改。 代码如下: public class allArray { public static int num = 0;//计数器 /* * Array实现无重复字符的数组的全排列 list是字符数组,i是指示当前位置的游标,length是数组长度 * ...原创 2012-10-17 13:24:44 · 180 阅读 · 0 评论 -
求两个字符串的最长公共子串(字母可以不相邻,但是顺序不变)
不知道为什么笔试总是遇到这些题目,看来经典算法,大家都喜欢啊,这个是LCS问题,动态规划。 问题:求两个字符串的最长公共子串,字母可以不相邻,但是顺序不变 代码: public class lcs { public static void LCS_Print(String str1, String str2) { int length1 = str1.length(); in...原创 2012-10-17 17:19:46 · 213 阅读 · 0 评论 -
求两个字符串的最长公共子串 (字母必须相邻)
上一篇《求最长公共子串(可以不相邻)》的另一种变换题目,这个相对于上一篇,稍稍简单,不过这个算法的时间复杂度不太好,更简单的算法,有时间我再整理下。 问题:求最长公共子串,字符必须相邻。 代码: public class common { public static void findCommon(String s1, String s2) { int i;//第一个游标从0 ~...2012-10-17 17:32:44 · 208 阅读 · 0 评论 -
求一个数的二进制中1的个数 (n种解法详述)
今天研究了一个有趣的算法,而且还牵连了很多其他知识,这个问题倒是很简单。 问题:求一个数的二进制中1的个数 方法1: public class YiWei { /* * 函数名:count1() 原理:n和1求&,当n的末位是1时,&结果是1;然后把n右移1位,再判断。 * 缺陷:只适用于正数,当n是负数时错误。 * 原因:移位操作的时...原创 2012-10-25 19:44:34 · 488 阅读 · 0 评论