链接:牛客 腾讯2020校园招聘-后台
记录一下自己的想法以及一些大佬的分享的算法

压缩算法

var line = readline();var solution = (str) => {//递归,每次处理最内层const fn = (str) => {let x = -1, y = -1, z = -1, i = 0;//找到最内层[ | ]对应的下标while(i < str.length){if(str[i] === '[') x = i;else if(str[i] === '|') y = i;else if(str[i] === ']'){z = i;break;} i++;}//找到了则做解压处理if(x != -1 && y != -1 && z != -1){let num = Number(str.slice(x + 1, y));let t = str.slice(y + 1, z);str = str.slice(0, x) + t.repeat(num) + str.slice(z + 1);return fn(str);}return str;}return fn(str);
}console.log(solution(line));

逛街

其实我觉得这题的意思有点难懂,好在看完评论以后搞明白了:小Q站在当前楼的正中间,可以看到的楼就包括当前楼以及前后没有被挡住的楼(当前楼不管是否高于旁边的楼都不会挡住它)

var n = Number(readline());
var line = readline();
var lines = line.split(' ');
var h = new Array(n);
for(let i = 0; i < n; i++){h[i] = Number(lines[i]);
}var solution = (n, h) => {var left = [], right = [];var stack1 = [], stack2 = [];for(let i = 0, j = n - 1; i < n, j >= 0; i++, j--){left.push(stack1.length);right.push(stack2.length);//将被挡住的剔除while(stack1.length != 0 && stack1[stack1.length-1] <= h[i]) stack1.pop();while(stack2.length != 0 && stack2[stack2.length-1] <= h[j]) stack2.pop();stack1.push(h[i]);stack2.push(h[j]);}right = right.reverse();for(let i = 0; i < n; i++){left[i] += right[i] + 1;}return left.join(' ');
}console.log(solution(n, h));

腾讯2020校园招聘-后台相关推荐

  1. 腾讯2020校园招聘后台开发面试编程题

    腾讯一面的时候,面试官给出了一道题,题目如下,当初由于是第一次面试,比较紧张没做出来,现在回顾总结一下. 题目 小Q在周末的时候和他的小伙伴来到大城市逛街,一条步行街上有很多高楼,共有n座高楼排成一行 ...

  2. 压缩算法 【腾讯2020校园招聘-后台综合-第一次笔试 】

    题目:小Q想要给他的朋友发送一个神秘字符串,但是他发现字符串的过于长了,于是小Q发明了一种压缩算法对字符串中重复的部分进行了压缩,对于字符串中连续的m个相同字符串S将会压缩为[m|S](m为一个整数且 ...

  3. 腾讯2020校园招聘-后台 编程题

    小Q想要给他的朋友发送一个神秘字符串,但是他发现字符串的过于长了,于是小Q发明了一种压缩算法对字符串中重复的部分进行了压缩,对于字符串中连续的m个相同字符串S将会压缩为[m|S](m为一个整数且1&l ...

  4. 腾讯2021校园招聘-后台综合-第二次笔试 Apare_xzc

    腾讯2021校园招聘-后台&综合-第二次笔试 Apare_xzc 2020.9.6 20:00-22:00 5道编程题,500分 第一题:链表的公共部分 题意: 给定两个长度分别为n,m的链表 ...

  5. 腾讯2020校园招聘----逛街

    腾讯2020校园招聘----逛街 文章目录 腾讯2020校园招聘----逛街 一.问题描述 二.问题分析 一.问题描述 小Q在周末的时候和他的小伙伴来到大城市逛街,一条步行街上有很多高楼,共有n座高楼 ...

  6. 腾讯2020校园招聘----覆盖

    腾讯2020校园招聘----覆盖 文章目录 腾讯2020校园招聘----覆盖 一.题目描述 二.问题分析 三.代码 一.题目描述 小Q在进行一场竞技游戏,这场游戏的胜负关键就在于能够能争夺一条长度为L ...

  7. 腾讯2020校园招聘----逆序对

    腾讯2020校园招聘----逆序对 文章目录 腾讯2020校园招聘----逆序对 一.题目描述 二.题目分析 方法一:暴力求解(超时) 方法二:优化 一.题目描述 二.题目分析 首先,我们看到要求逆序 ...

  8. 腾讯2020校园招聘---假期

    腾讯2020校园招聘-假期 文章目录 腾讯2020校园招聘---假期 一.题目描述 二.题目分析 三.代码 一.题目描述 由于业绩优秀,公司给小Q放了 n 天的假,身为工作狂的小Q打算在在假期中工作. ...

  9. 腾讯2020校园招聘正式批市场研究 | 群面(2019.10.17)

    岗位:市场研究 批次:正式批 啊 是我梦想的腾讯爸爸啊,鉴于我太菜了,只能帮大家到群面了--. ? 「更多我的秋招经验贴」 <2020我的秋招总结帖 [数据分析岗] | 目录索引> 一.面 ...

  10. 腾讯2020校园招聘-产品

    题目描述 当前有一个热门的理财场景叫"梦想计划",即让用户设定一个目标值,然后通过定投.或者不定期存入资金等方式达到目标.请设计一个针对梦想计划理财的线上推广方案. 解答 (1) ...

最新文章

  1. Swarm 如何存储数据?- 每天5分钟玩转 Docker 容器技术(103)
  2. 【C++】20. const char *str[]、指针的字节长度等 分析
  3. Python中常用的文本转义及编码
  4. android 安全讲座第三层 linux权限基础知识
  5. Dropout的前世与今生
  6. break与continue的区别【图解】(简洁明了)
  7. js中字符串和数组的使用
  8. 汇编语言:编写代码实现字符串的复制
  9. HTTP Status 500 - javax.servlet.ServletException: File [/head.jsp] not found
  10. poj 1502 MAPMaelstrom 单源最短路dijkstra
  11. Caffe 学习系列
  12. Angular、React 当前,Vue.js 优劣几何?
  13. android uri内部协议,Android 解析 Intent 协议并打开程序 – 热爱改变生活
  14. Linux USB驱动框架分析
  15. iconv linux 开源代码,每天一个 Linux 命令(123):iconv 命令
  16. ajax js java省市三级联动菜单,javaweb--json--ajax--mysql实现省市区三级联动(附三级联动数据库)(示例代码)...
  17. 红米K40 Pro/Pro+ 使用Fastboot安装欧版ROM (非TWRP)
  18. STM32编译生成的BIN文件详解
  19. win7升级RDP至8.1
  20. java 熄灯问题_遍历搜索空间的例子:熄灯问题

热门文章

  1. java 黑盒测试_关于黑盒测试的总结
  2. 电脑无法从U盘启动的问题解决
  3. Mac中隐藏/显示文件或文件夹
  4. 程序员如何学习Hadoop大数据培训
  5. 5-lighttpd安装
  6. 双系统下Ubuntu完整卸载
  7. matlab研究微分方程,基于MATLAB的微分方程求解电路仿真实验研究与实现
  8. 如何用elastic APM实现用户行为轨迹监控(User Journey Monitoring)
  9. 【转帖】用友和金蝶应避免重蹈Oracle覆辙
  10. 洛谷 p4234 最小差值生成树