几个笔试题
【試題一】
float類型的數能否進行&、|、^等二進制運算?
【試題二】
給定一個單鏈表,判斷該單鏈表是否是回文單鏈表,要求時間復雜度為O(n),空間復雜度為O(1)。
【試題三】
給定一個數n,寫一個程序計算,小于或等于n的非負整數中所含數字1的個數,例如當n為13時,返回值為6,分別出現在1、10、11、12和13中,數字1出現了6次。
【試題四】
在一個數組中,num[i]!=num[i+1],如果數組的一個值比其相鄰的值都大,那么該值稱為該數組的一個peak element,一個數組中可以有多個peak element,寫一個函數返回任意一個peak element的下標即可。
例如數組{1, 2, 1, 3, 5, 4, 8},其中存在的peak element有2、5。
【試題五】
寫一個關于通配符的函數,其中'?'表示任意一個字符,‘*’表示任意多個任意字符。寫一個函數bool isMatch(const char *p, const char *s),判斷s能夠匹配字符串p。
例如,
p="aba", s="a*",返回true
p = "aa", s="a",返回false
p="abac", s="a?ac",返回true
p="abcc", s="a*",返回true
p="abba", s="c*b*a*",返回false
總結
- 上一篇: 2015年百度三面试题
- 下一篇: 2015年京东面试题