![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题
文章平均质量分 72
小白在敲代码
这个作者很懒,什么都没留下…
展开
-
求最长连续相同的字母序列长度
给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。如,query为"acbac",text为"acaccbabb",那么text中的"cba"为最长的连续出现在query中的字母序列,因此,返回结果应为其长度3。最先想到的思路只能是将text作为被比较对象,将query中的每个字母挨个与text中的所有字母比较,原创 2015-04-01 21:15:07 · 2034 阅读 · 0 评论 -
海量数据中找第k大个数
普通数组中查找第k大个数:(1)首先会想到将数组按降序排列,输出第k个数即可,时间复杂度为O(nlogn)(快排,堆排);(2)还会想到只对前k个数进行排序,时间复杂度为O(n*k)(冒泡,选择);但是这些方法在面临海量数据的时候就不太够用了,因为数据量大,所以我们考虑在上述方法的基础上进行优化,比如减少遍历次数等//海量数据中查找第k大的数public class Try {原创 2015-05-10 18:43:43 · 939 阅读 · 0 评论 -
返回字符串中第一个只出现过一次的字符(hash)
public class Try { public static void main(String[] args){ String s = "aabcceeff"; System.out.println(firstOnce(s)); } public static int firstOnce(String s){ int hash[] = new int[256]; in原创 2015-04-28 20:52:00 · 340 阅读 · 0 评论 -
判断数组中是否有重复数字(two ways +位运算)
//判断数组中是否有重复的数字,有则返回true,没有则返回false//方法一:先用时间复杂度为O(nlogn)的排序将数组重建,然后遍历寻找 //方法二:新建一个数组型hash表,key存num[i], value存num[i]出现的次数。时间复杂度为O(n),空间复杂度为O(n) public static boolean Dup(int[] num){ int hash[]原创 2015-04-28 21:47:58 · 1672 阅读 · 0 评论