【javascript】2017-9-12 腾讯笔试小Q升序算法
2024-08-30 08:26:28
刚做完笔试,腾讯笔试系统真的不友好,作为一个前端,我只会用js写编程题,然而,然而腾讯笔试系统连js输入函数都没给,还不准跳出页面,那个调试结果一直显示错误,我一直找不到错误在哪,心累。
只做了一道笔试编程题,题意是小Q要设计一种升序算法,需要满足:
如果 数组[0, n]升序排列后 与 数组[n+1, length]升序排列后 组成的数组 与 数组升序排列 结果相同,即算一种方式;
求输入数组有几种方式。
例如输入 :
4 1 5 2 3 6
输出:
2
思路:截取数组不同的长度,形成两个数组 left、right,将它们分别排序然后相连接,与数组整体排序后的结果对比,结果一致,count++;
js代码如下:
var s = read_line();
var arr = s.split(" ");
var sortArr = [].concat(arr).sort();
var count = 0;
function fn(end)
{
var left = arr.slice(0,end);
var right = arr.slice(end);
var arrN = left.sort().concat(right.sort());
console.log(arrN.toString()==sortArr.toString());
console.log(arrN); if(left.sort().concat(right.sort()).toString() ==sortArr.toString())
count++;
}
for(var i =0; i<arr.length; i++)
{
fn(i);
}
console.log(count)
注意:
if(left.sort().concat(right.sort()).toString() ==sortArr.toString())
count++;
比较两数组是否相等一定需要toString() 转化一下!切记!
最新文章
- 1199 Problem B: 大小关系
- 串口计时工具Grabserial简介及修改(添加输入功能)
- LeetCode ";Wiggle Subsequence"; !
- BZOJ4152The Captain[DIjkstra]
- ListView简介
- javaSE第六天
- angularjs2 学习笔记(二) 组件
- OC 知识点回顾
- Vitamio 多媒体框架 介绍
- 链表k个节点反向
- TIME_WAIT问题总结
- winform 跨线程访问问题
- freekan5.9电影网站安装及源码分享
- [Swift]LeetCode1018. 可被 5 整除的二进制前缀 | Binary Prefix Divisible By 5
- C# 微信开发-----微信会员卡(三)激活会员卡
- 把jmeter获取到的信息存到本地文件
- Open系列相关概念汇总
- threeSum问题
- AutoFac简单入门
- 搭建本地DNS解析
热门文章
- 修改winform安装包写日志文件权限
- Google 马来西亚主页被黑
- HDFS源码分析三-DataNode实现
- TypeScript完全解读(26课时)_13.TypeScript完全解读-高级类型(2)
- 20个Flutter实例视频教程-01节底部导航栏和切换效果的制作-1
- Flutter实战视频-移动电商-12.首页_GridView类别导航制作
- Makefile研究(二)—— 完整可移植性模板
- RXSwift01
- TextBox禁用与启用的方法
- HDU5950【矩阵快速幂】