1.输入一个数,判断其在杨辉三角的第几行
要点:二维数组
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
}以上就是两道关于杨辉三角和括号匹配的算法题的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号