Font-end(编程题)
来源:互联网 发布:还珠格格知画 编辑:程序博客网 时间:2024/05/21 02:51
1、给的用例正确么?
2、自己的用例正确么?
3、输出的格式正确么?
> print的地方要注意!
4、输入的数据正确么?
> 给的“length”一般在录入时候的for会用到;> 不要依赖 while(…)
0、有效的括号匹配
8种,“{ } [ ] < > ( )”
//首先先定义不同类型的匹配原则,如 (匹配),【匹配】,{匹配}。再借助栈,遇到左括号则入栈,遇到右括号则比较它和栈顶括号的类型,要是不匹配则终止返回错误,要是匹配则将栈顶元素出栈,继续往字符串右边走,接着入栈或是判断。一直到走到字符串的尾部,且栈为空,则返回正确var input = parens.split('');var arr = [];for(var i=0; i<input.length; i++){ if( (input[i]=='{') || (input[i]=='[') || (input[i]=='<') || (input[i]=='(')){ arr.push(input[i]); } else { var str = arr.pop(); if(input[i] == '}'){ if(str != '{'){ return false; } } if(input[i] == ')'){ if(str != '('){ return false; } } if(input[i] == '>'){ if(str != '<'){ return false; } } if(input[i] == ']'){ if(str != '['){ return false; } } }} if(arr.length==0){ return true; } else { return false; }
0、(2018美团校招)
设定密码的严密性:
1、长度不能小于8;
2、不能数字开头;
3、只能由数字、小写字母、大写字母组成;
3、必须是数字、小写字母、大写字母其中至少两种组合;
var reg1=/^[A-Za-z0-9]+$/;//var reg2=/^[0-9]/;var reg3a = /^(?!(?:\d+|[a-z]+)$)[\da-z]{8,}$/;var reg3b = /^(?!(?:\d+|[A-Z]+)$)[\dA-Z]{8,}$/;var reg3c = /^(?!(?:[a-z]+|[A-Z]+)$)[a-zA-Z]{8,}$/;var reg3d = /^(?!(?:[\da-z]+|[A-Z]+)$)[\da-zA-Z]{8,}$/;var str = "0988763333333";if(str.length>=8){ if(reg1.test(str)){ if(!reg2.test(str)){ if(reg3a.test(str)||reg3b.test(str)||reg3c.test(str)||reg3d.test(str)){ console.log ('YES'); } } }} console.log('NO');
0、(2018网易校招)
如果一个01串任意两个相邻位置的字符都是不一样的,我们就叫这个01串为交错01串。例如: "1","10101","0101010"都是交错01串。小易现在有一个01串s,小易想找出一个最长的连续子串,并且这个子串是一个交错01串。小易需要你帮帮忙求出最长的这样的子串的长度是多少。
输入描述:
输入包括字符串s,s的长度length(1 ≤ length ≤ 50),字符串中只包含’0’和’1’
输出描述:
输出一个整数,表示最长的满足要求的子串长度。
输入例子1:
111101111
输出例子1:
3
我的答案(js V8.6):
while(line=readline()){ var lines = line.split(''); var arr = []; for(var i=0;i<lines.length;i++){ arr[i] = parseInt(lines[i]); } var result = jiaocuo(arr); print(result);}function jiaocuo(arr){ var count = new Array(arr.length); for(var i = 0 ;i < count.length ; i++){ count[i] = 1; } for(var i = 0 ;i < arr.length - 1 ;i++){ for(var j = i; j < arr.length-1 ; j++){ if(arr[j] + arr[j+1] == 1){ count[i]++; } else { break; } } } return bubble(count);}function bubble(arr){ for(var i = 0 ; i < arr.length ; i++){ for(var j = 0 ; j < arr.length - i ; j++){ if(arr[j] > arr[j+1]){ var temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } return arr[arr.length-1];}
思路:当时没做出来,原因可能是太紧张,而且也没做过编程题,真不该
!
刚洗完澡就想出来了:
1、用split(“”),可以将 “字符串” —> “字符数组”arr;
2、创建一个和arr同长度count数组,统计对应idx下的交错长度;
3、判断 arr[j] + arr[j+1] == 1?就行了
1、用JS求出两个字符串的最长公共子序列(长度)?
function search(){ var s1 = "abc"; var s2 = "abdfe"; //用substr(startIdx,length)、indexOf()>=0来解 //用j代表长度 var L1 = s1.length; for(var j = L1 ; j > 0 ; j--){ //用i代表 起始坐标 for(var i = 0 ; i <= L1-j ; i++){ var str = s1.substr(i,j); if(s2.indexOf(str) != -1){ return str; } } } return "";}
上面代码不够准确,因为若s1比s2长,就不行了,这时候需要调换s1、s2。
function search(){ var s1 = "abc"; var s2 = "abdfe"; if(s1.length > s2.length){ var s3 = s1; s1 = s2; s2 = s3; } var L1 = s1.length; for(var j = L1 ; j > 0 ; j--){ for(var i = 0 ; i <= L1-j ; i++){ var str = s1.substr(i,j); if(s2.indexOf(str) != -1){ return str; } } } return "";}
2、
基本思路:
1、基于这些展示品的父容器(elem),创建一个矩形对象
elem.getBoundingClientRect();
2、获得这个父容器最终被应用到的样式规则:
getComputedStyle(elem,null);
3、创建“遮罩层”div节点
var mask = document.createElement('div');
4、设置这个“遮罩层”div节点的style
mask.style.position、mask.style.left、mask.style.top、mask.style.zIndex、mask.style.opacity、mask.style.backgroundColor、mask.style.width、mask.style.height
5、父容器(elem)的再上一层父容器(elem.parentNode),插入子节点(mask)
elem.parentNode.appendChild(mask);
6、获得父容器(id为target)
var target = document.getElementById('target');addMask(target);
3、下面这段代码想要循环延时输出结果0 1 2 3 4,请问输出结果是否正确,如果不正确,请说明为什么,并修改循环内的代码使其输出正确结果
for(var i = 0 ; i < 5 ; i++){ setTimeout(function(){ console.log(i + ' '); },100);}
是错的,因为setTimeout的参数函数通过闭包访问变量i,js运行环境是单线程,setTimeout注册的函数需要等待线程空闲才能执行,但这时候for循环已结束(i = 5)。
正确办法:
for(var i = 0 ; i < 5 ; i++){ (function(idx){ setTimeout(function(){ console.log(idx + ' '); },100); })(i);}
阅读全文
0 0
- Font-end(编程题)
- Font-End(理论知识)
- Font-end(CSS章)
- Font-end(排序算法)
- Font-end(面试准备)
- Font-end(项目时会用到)
- 【Font-End】CSS教程
- CSS Mastery2(10.5.4-end)@font-face&cufon&&Ajax&jQuery增强交互性&黑画(5-another road)
- Font能否new一个Font对象()
- Font.Style(Delphi)
- css中font的简写方法(包括font-weight,font-size,line-height,font-family)
- font
- font
- Font
- font
- font
- font
- font
- [PAT乙级]自测1
- P3367 【模板】并查集
- 中国云计算产业渐成熟 加速传统产业转型升级
- BZOJ 2698 染色
- GitLab服务器启用https
- Font-end(编程题)
- ES6的箭头函数介绍
- Linux常用命令收集(持续更新)
- HDU 6143 排列组合
- 你用云计算前梳理IT架构了吗?
- twosum
- JSON格式转换JSON.parse(),JSON.stringify()和$.param()
- Gradle project sync failed.
- python基础学习-协程与yeild表达式