09 2014 档案
两道有意思的面试题
摘要:1)逆序输出字符串输入:abcdefg输出:gfedcba #includeusing namespace std;void reversePrint(const char* str, int n){ if(n == strlen(str)) return; reversePrint(str,...
阅读全文
美团面试,面一次,累一次
摘要:找工作,不容易啊,跑来跑去的,问题是,面试还不是很顺利。记得,那天要去参加美团的笔试,自行车坏了,同学也要去面试,自然借不到车了,于是就提前一个小时,从学校走去中大,话说,那天还是挺热的。 美团的笔试题目,算法程序题居多,最后有安卓的、前端什么的题,具体的也不太记得了。美团的题目做的不...
阅读全文
一个序列是否可能是push序列的pop序列
摘要:输入:两个序列A、B,A作栈的push序列,判断B是否可能是A的pop序列。#include#includeusing namespace std;bool solution(const int* apush, const int* apop, int len){ if(len sta...
阅读全文
网络分层的优点
摘要:最近去面试,被问到这个问题了,答得不是很好,所以,就做一下笔记。 网络分层的优点: 1)各层之间是独立的。某一层并不需要知道它下一层是如何实现的,而仅仅需要知道该层通过层间的接口所提供的服务。由于每一层只实现一种相对独立的功能,因而可以将一个难以处理的复杂问题分解为若干个较容易处理...
阅读全文
根据字符出现的权重生成字符串
摘要:听过一些小伙伴被问到一个问题,题目就是:给你一个字符串,还有这些字符串出现的权重,让你随机生成字符串,并且字符的权重越高,出现的概率越大。分析:假设有三个字符:a , b ,c ,它们的权重分别是2,3,5。我们要生成的字符串中的字符必须是这三个字符之一,因为但是权重不同,a,b,c分别占总权重的比...
阅读全文
Same Tree
摘要:leetcode 一道判断两棵树是否相同的题:Given two binary trees, write a function to check if they are equal or not.Two binary trees are considered equal if they are ...
阅读全文
GCD求最大公约数
摘要:求最大公约数哪个强,果断GCD,非递归版本和递归版本如下:#includeusing namespace std;int gcd(int a, int b){ //非递归版本 int big = max(a, b); int small = min(a, b); int tem...
阅读全文
哥也能写KMP了——实现strstr()
摘要:经过上次去面试,面试官要求实现strstr(),当场就蒙了。这个题目是模式匹配问题,《算法导论》里列出了几种字符串匹配算法: 朴素算法 | Rabin-Karp | 有限自动机算法 | Knuth-Morris-Pratt (KMP) 各种方法都有自己的优缺点,我觉得,还有一些方...
阅读全文
面试归来,感觉无望,下次再战
摘要:今天去面阿里校招研发岗,同去的还有同班的同学,去之前,我看了自己的简历,感觉写得还不算很花俏,因为之有很多面经都提示,在简历技能那里写上熟悉时,你得考虑面试官会问你什么。慎重。 下去4点多过去的,去面试的人很多,等了一个多钟后,才轮到我。面试时,跟面试官简单介绍了一下,然后就聊到了实习...
阅读全文
Pow(x, n)
摘要:Implement pow(x,n).题目在这里,二分解法如下:class Solution {public: double pow(double x, int n) { double ans; if(n 0){ if(n&1) ans *...
阅读全文
Length of Last Word
摘要:Given a stringsconsists of upper/lower-case alphabets and empty space characters' ', return the length of last word in the string.If the last word doe...
阅读全文
后缀数组应用
摘要:求两个后缀数组的最长公共前缀,可以转化为求某个区间上的最小值。 接下来,先来构造后缀数组,先看这里。 //求两个后缀的最长公共前缀 int lcs(int i, int j){ int b, e; if(RANK[i] > RANK[j]) e=RANK[i], b=RANK[j]+...
阅读全文
2倍倍增算法构造后缀数组
摘要:2倍倍增算法的主要思路是:用倍增的方法对每个字符开始的长度为2^k的字符串进行排序,求出排名,即rank值。#includeusing namespace std;const int maxlen = 10011;int tsa[maxlen], RANK[maxlen], sum[maxl...
阅读全文
浙公网安备 33010602011771号