function fun(item) { if(item===1) return 1; var arr = []; for(var i=0;;i++) { arr[i] = []; for (var j = 0; j <= i; j++) { if (i == j || j == 0) { arr[i][j] = 1 } else { arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1]; if(arr[i][j] ==item){ return i+1; } } } } }
2.輸入一串括號 這樣:
function check(str) { var arr = str.split(''); // 將傳入字符串轉化為數組 var stack = new Array(); // 新建棧,這里我用數組代替 var aString = '({[]})' ; // 用來匹配的字符串 var index = -1; //初始化下標 for (var i = 0; i < arr.length; i++) { var item = arr[i]; if ((index = aString.indexOf(item)) < 3) { // 將每一項都用aString匹配,下標小于3就是左括號 // 左括號,入棧 stack.push(item) } else { // 右括號,棧列表出棧一個元素與之匹配 var target = stack.pop(); // 如果出棧元素不存在,則這個右括號沒有響應匹配的左括號,驗證失敗 if (!target) { return false } // 取出與 item 對應的左括號與出棧元素匹配,不相等則驗證失敗 if (target !== aString.charAt(5-index)) { return false } } } // 循環匹配完成后,如果棧列表還有元素,則缺少與之匹配的右括號,驗證失敗 if (stack.length) { return false } // ok return true }
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com