2018年美团校招前端WEB笔试编程题-最小的排列
来源:互联网 发布:mac 光影魔术手 下载 编辑:程序博客网 时间:2024/05/01 16:34
2018年美团校招前端WEB笔试编程题
最小的排列
我的第1篇博文,向各位瑟瑟发抖!
背景描述:
现有两个由0-n组成的排列,那么这两个排列的大小比较规则就是,从左到右挨个比较,若相等则同时比较下一个,否则不等时,大值项所在的排列即为最大的排列 (讲的应该很明白吧)。
题目:
有一个排列,交换排列中两个元素的位置,使得所得得到的排列为最小。
分析思路:
这种比较大小的规则,应该有点熟悉吧,我对此有两种熟悉的场景。
比较两个字符串的大小:
因为字符串的比较性不像数字表现的那么明显,但是字符其实是有ASCII值的,那么可以从规则开始判断比较大小。具体比较也是如同上面,若相等持续比较下去,否则即可判断出二者大小。
链表的比较:
学过数据结构都应该知道链表比较大小也是这个道理 (只是应该),相等依次访问进行比较,不等时则判断出大小。
解题步骤
<script> // 用于交换 function swap(order,p1,p2){ var temp = order[p2]; order[p2] = order[p1]; order[p1] = temp; } //现有一个序列,经交换两个位置后,为最小排列 function GetMinOrder(order){ var min=parseInt(order); // 两层循环有点眼熟啊,有点像简单选择排序的算法 for(var i=0;i<order.length;i++){ for(var j=i+1;j<order.length-1;j++){ swap(order,i,j); if(min>parseInt(order)){ min = parseInt(order); } swap(order,i,j); } } console.log(min); //打印最小的排列 } GetMinOrder('43512');</script>
阅读全文
0 0
- 2018年美团校招前端WEB笔试编程题-最小的排列
- 2018美团校招前端笔试
- 2016年美团校招笔试题
- 美团校招笔试题
- 2015美团校招部分笔试题
- 2015美团校招部分笔试题
- 2015美团校招部分笔试题
- 2016美团校招笔试题
- 2015秋季美团校招研发题编程题一
- 2016年美团校园招聘数据开发工程师笔试编程题
- 美团校招 拜访
- 美图2018校招前端笔试编程题数组去重
- 2014年美团校招笔试题解(更新ING……)
- 2014美团校招笔试题之糖果不拆包组合数问题
- 【美团校招笔试题】去除字符串首尾空格,中间多个空格只保留一个
- 搜狐2017 WEB前端开发 秋招笔试编程题
- 2014年美团校招之——输出字典序为第k的排列(0<=k<n!)
- 美团校招 关灯问题&&7的倍数
- 算法系列——字符串置换、最长回文串、尾部的零
- loadrunner Web_类函数之web_element()
- 关于Java学习中继承知识方面的一些理解
- 前缀式计算-OJ
- 欢迎使用CSDN-markdown编辑器
- 2018年美团校招前端WEB笔试编程题-最小的排列
- TCP/IP协议
- loadrunner Web_类函数之web_enable_keep_alive()
- 四、Spring Cloud系列:问题-随机端口启动项目无法访问
- Spring MVC学习指南(8-10章总结)
- 【XSY1602】安全网络 树形DP 数学
- vue-cli+webpack前端使用后台接口跨域问题的多种解决及其原理和产生原因
- 高精度大整数模板
- pandas dataframe行和列的操作