小米前端编程题求指教
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 的解法 🙏#小米##前端工程师#