
面试
文章平均质量分 66
代码仔
略
展开
-
LeetCode-Next Permutation
Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.If such arrangement is not possible, it must rearrange it as the lowest possible原创 2015-04-02 15:11:00 · 294 阅读 · 0 评论 -
面试10大算法题汇总-字符串和数组8
17.最长连续序列给定一个无序数组,求最长连续序列的长度。要求负责度为O(n)例:数组num:[100, 4, 200,1, 3, 2]的最长连续序列为[1,2,3,4],长度为4解法一:建立一个bool数组,用于表示该数字是否存在,之后求数组中连续为true的最长值即可。在[100, 4, 200, 1, 3, 2]中,其最小值为1,最大值为200,因此建立长度为iMax-iMin+原创 2015-03-11 10:11:28 · 638 阅读 · 0 评论 -
面试10大算法题汇总-字符串和数组7
14.实现strStr():搜索一个字符串在另一个字符串中的第一次出现的位置例:#include #include int main (){ char str[] ="This is a simple string"; char * pch; pch = strstr (str,"simple"); cout<<(*pch)<<endl; return 0;}原创 2015-03-10 09:39:07 · 2294 阅读 · 0 评论 -
面试10大算法题汇总-字符串和数组6
11.String转int,即atoi函数实现。主要考虑以下几种情况:1. String为空2. String中存在非数字字符,如空白字符,abcd等3. String的正负Code:public class test { public static int atoi(String str) { if (str == null || st原创 2015-03-09 09:56:37 · 580 阅读 · 0 评论 -
面试10大算法题汇总-字符串和数组5
7.合并重复区间给定一组区间,合并其中重复的。例:给定[1,3],[0,7],[2,6],[8,10],[15,18],其中[1,3]与[0,7]及[2,6]区间有重复,因此将其合并成一个区间:[0,7]。最终返回:[0,7],[8,10],[15,18].书上的解法用到了Comparator,其大致思路如下:1. 创建一个间隔类Interval,其成员变原创 2015-03-06 10:23:55 · 462 阅读 · 0 评论 -
面试10大算法题汇总-字符串和数组4
6.匹配正则表达式编写函数boolisMatch(String s, String p),完成正则表达式中“.”和“*”的功能。例:isMatch("aa","a")return falseisMatch("aa","aa")return trueisMatch("aaa","aa")return falseisMatch("aa", "a*")return tru原创 2015-03-05 10:41:59 · 581 阅读 · 0 评论 -
面试10大算法题汇总-字符串和数组3
5.求两个有序数组的中位数有两个有序数组A和B,其大小分别为m和n,求两个有序数的中间值若m+n为偶数,则求两个中间数的平均值。例:A = { 1, 2, 3 };B = { 4, 6, 7, 9, 11 };Output:5.0 A = { 1, 2, 3 };B = { 9, 11 };Output:3.0 要求时间复杂度为O(log(m+n))原创 2015-03-04 10:44:28 · 505 阅读 · 0 评论 -
面试10大算法题汇总-字符串和数组2
3.分词给定一个字符串s和一个单词字典,确定s是否可被字典分解为多个单词如:给定s=”leetcode”dict=[“leet”,”code”]由于”leetcode”可被分割为”leet code”,返回True 最简单的一种方法是遍历dict中的单词,查看其是否在s的起始位置,若在则继续查看s剩下部分,否则返回falseimport java.util.Hash原创 2015-03-03 10:01:29 · 587 阅读 · 0 评论 -
面试10大算法题汇总-字符串和数组1
题目链接:http://blog.youkuaiyun.com/xiaoranlr/article/details/43963933 1. 计算逆波兰式题目要求如下:["2","1", "+", "3", "*"] -> ((2 + 1) * 3)-> 9["4","13", "5", "/", "+"] -> (4 + (13 /5)) -> 6也就是说给定一个逆波兰式数组,计算原创 2015-03-02 10:27:39 · 680 阅读 · 0 评论