面试题
紫菜菌
总结每天的学习成果的辣鸡(但很帅)的人。。O(∩_∩)O哈哈~
展开
-
正整数数组排列成最小的数字
题目:输入一个正整数数组,将所有元素排列成最小的数字后输出function PrintMinNumber(numbers){if(numbers.length==0) return false;else{var str=numbers+’’;var arr=str.split(’,’);arr.sort((a,b)=>{return (a+b)-(b+a);})return parseInt(arr.join(’’));}}console.log(PrintMinNumber原创 2020-05-11 00:36:50 · 275 阅读 · 0 评论 -
长数组拆分成和最接近的两个数组
题目:输入一个大数组拆分成和最接近的两个数组,并返回。const arr = [1,23,544,64,47,56,12,456,32,12,132]; function twoArrSum(arr){ var arr1=[],arr2=[]; var sum1=0,sum2=0; arr.sort((a,b)=>b-a); //必须从大到小排序。因为大数不需先保证分配正确,小数可不分原创 2020-05-09 18:37:14 · 889 阅读 · 1 评论 -
浅谈 setState 更新机制
了解 React 同学想必对setState函数是再熟悉不过了,setState也会经常作为面试题,考察前端求职者对 React 的熟悉程度。在此我也抛一个问题,阅读文章前读者可以先想一下这个问题的答案。给 React 组件的状态每次设置相同的值,如setState({count: 1})。React 组件是否会发生渲染?如果是,为什么?如果不是,那又为什么?一、场景复现针对上述问题,先进...转载 2020-05-05 11:26:37 · 1231 阅读 · 1 评论 -
算术字符串输出运算结果
题目:给定一个字符串(内含一个运算表达式)输出运算结果(整数)。eg:输入:‘123+234-123+100=’输出:334var obj={ '+':(a,b)=>a+b, //箭头运算符 '-':(a,b)=>a-b //*** } ...原创 2020-04-22 22:21:32 · 1032 阅读 · 0 评论 -
数字转汉字
题目:输入一个正数(整数),大小不超过千亿。输出字符串类型的汉字。eg:输入:1001输出:一千零一function fn(n){ if(!/^([1-9]\d*)/.test(n)){ return '非法数据'; } var unit = '千百十亿千百十万千百十个'; if(n.length &g...原创 2020-04-22 21:41:25 · 388 阅读 · 0 评论 -
逆波兰表达式
题目:给定一个字符串数组(包括数字和运算符),根据逆波兰表达式输出结果。eg:输入:[“4”, “13”, “5”, “/”, “+”]输出:(4 + (13 / 5)) = 6var obj={ '+':(a,b)=>a+b, '-':(a,b)=>a-b, '*':(a,b)=>a*b, ...原创 2020-04-22 21:28:56 · 240 阅读 · 0 评论 -
树的子结构
题目描述:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)function HasSubtree(pRoot1, pRoot2) { //自身,左子树,右子树只要一个符合即为子结构 if(pRoot1==null||pRoot2==null){...原创 2020-04-19 09:50:22 · 91 阅读 · 0 评论 -
实现类似getElementsByClassName
<div class="temp">11111</div> <div class="temp aa">22222</div> <div class="tempq aa">3333</div> <div class="bb temp">22222</div> <div...原创 2020-03-31 00:25:13 · 174 阅读 · 0 评论 -
前端面试:三数之和
题目:给出一个数组arr,返回一个二维数组,内部每个值都为三个数,且三数之和为0.样例输入:[-1, 0, 1, 2, -1, -4]样例输出:[[-1,0,1],[-1,2,-1]]//排序+双指针 function threeSum(arr){ var res=[]; if(arr.length<3){ ...原创 2020-03-29 22:38:49 · 186 阅读 · 0 评论 -
算法之数字序列中某一位的数字
题目: 一个字符串由0~n,顺序的数字拼接而成。eg:01234567891011.。。。从0开始。输入0,返回0;输入10,返回1。<script> function FindnThNum(n){ var str='0123456789'; if(n<=9){ return st...原创 2020-03-17 01:00:24 · 183 阅读 · 0 评论 -
Event loop用法知识点总结
Event loop的整体步骤:1.javascript事件分为同步任务和异步任务。2.同步任务放到执行栈中。3.异步任务放到任务队列中,当执行栈中执行完后,时间条件满足,则执行任务队列。就这么简单?那是不可能的!一次完整的Event loop过程,是先执行宏任务,后执行微任务,结束。可认为js把复杂的异步任务归属到微任务中就会好理解多了。题目中结合Promise,async,await。...原创 2020-03-03 23:40:02 · 229 阅读 · 0 评论