小米前端编程题求指教
1. 三角形(78)
long fun(long x) {
for (long i = 0; i < x; i++) {
long el = 1;
for (long j = 0; j <= i; j++) {
el = el * (i - j) / (j + 1);
if (el == x) return i + 1;
}
}
}
2. 食堂里的长桌(AC)
bool fun(char* table, int n) {
int len = sizeof(table);
int pos = 0;
for (int i = 0; i < len - 3; i++) {
if (table[i + 1] == '0' && table[i + 2] == '0' && table[i + 3] == '0') pos++;
}
if (pos >= n) return true;
else return false;
}
3. 能否变成回文串(88)
function fun(str) {
var len = str.length;
var hash = {};
var isPalindrom = false;
for (var i = 0; i < len; i++) {
if (!hash[str[i]]) hash[str[i]] = true;
}
for (var i in hash) {
if ((str + i) === (str + i).split('').reverse().join('') ||
(i + str) === (i + str).split('').reverse().join('')
) {
isPalindrom = true;
}
}
return isPalindrom;
}
杨辉三角不知道漏了哪些 cases,回文串感觉是超时了,求分享一下 AC 的解法 🙏#小米##前端工程师#