两道算法题,杨辉三角和括号匹配
来源:互联网 发布:真空助勃器 知乎 编辑:程序博客网 时间:2024/06/03 11:25
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]; index = aString.indexOf(item)); if ((index < 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 }
阅读全文
0 0
- 两道算法题,杨辉三角和括号匹配
- java括号匹配算法
- 括号匹配算法思想
- 验证括号匹配-算法
- 趣味算法-括号匹配
- 括号匹配算法
- java括号匹配算法
- 括号匹配算法
- 括号匹配算法
- 匹配括号的算法
- 括号匹配算法
- java 括号匹配算法
- 括号匹配算法
- 括号匹配算法
- 括号匹配算法
- 括号匹配 算法
- 括号匹配算法
- 括号匹配算法
- JAVA中List删除元素部分陷阱问题
- 集合-Iterator
- HDU2050 折线分割平面 数学递推
- java常用工具类---MD5加密
- linux文件内容查阅
- 两道算法题,杨辉三角和括号匹配
- Jzoj1277最高的奶牛
- NoSQL 数据库的主主备份及操作图解
- 关于帧布局
- 文字转语音地址
- 洛谷 P2423 双塔
- 第三周【项目1
- Linux下批量添加用户的脚本三种方法
- 接口基础(一)