前端 9.16腾讯-2019校园招聘(正式卷)编程题题解(js)
第一题
和谐的数字
牛牛很喜欢研究数字。一天,他发明了一种数字,叫做“和谐的数字”。
和谐的数字定义如下:
定义S(n)为数字n各位数字之和,如果S(n)能够整除n,那么就称n为一个“和谐的数字”。
现在给出数字n,请你判断这是否是一个“和谐的数字”。 输入描述:
输入的第一行包括一个正整数t(1 <= t <= 20), 表示情况数
接下来t行,每行一个正整数n(1 <= n <= 109)
输出描述:
对于每个正整数n, 如果n是和谐的数字,输出"Yes",否则输出"No"。 示例1
输入
7
34
66
72
6
32
33
86 输出
No
No
Yes
Yes
No
No
No
题解
var nn = parseInt(readline());
for(let i=0;i<nn;i++){
var n = parseInt(readline());
if(f(n))
print('Yes');
else
print('No');
}
function f(n) {
var tag = n;
var he = 0;
var p = 10;
do{
var s = parseInt(tag/p);
var y = tag%p;
he += y;
tag = s;
}while(s);
//console.log(he);
if(n%he==0)
return true;
else
return false;
}
第一题没啥好讲的
第二题
巧克力
小Q喜欢吃甜食,有一天他拿到了一个巧克力条,这个巧克力条由许多个排在一行的巧克力球组成,有些球上有坚果,有些球上没有坚果。
小Q想把这个巧克力条给掰成很多块(每块包含至少一个巧克力球),每块的大小可以不一样,但是每块上有且只有一个坚果。
小Q想知道有多少种方式可以得到满足上述条件的若干巧克力块。如果一种方式在某两个相邻的巧克力球之间掰开但是另一种方式没有,那么这两种方式就是不同的。
如果巧克力只包含一个坚果,那么显然只有一种方式,即不掰。 输入描述:
两行,第一行一个数字N(1 <= N <= 100),表示巧克力球的个数;
第二行N个整数,每两个整数之间一个空格隔开。每个整数为0或者1,1表示这个巧克力球有坚果,0表示没有。 输出描述:
一个整数,表示方案数。 示例1
输入
4
1 0 1 1 输出
2
题解
var nn = parseInt(readline());
var q = readline().split(' ');
var n=1;
var x;
var y;
for(let i=0;i<nn;i++){
x = q.indexOf('1',i);
y = q.indexOf('1',x+1);
if(y==-1)
break;
n *= y-x;
i=x;
}
print(n);
解析:0010010001001000 可以看成10010001001。再然后 100 1000 100 1 。3*4*3 。 1和它后面的0可以看成一组,表示这一组有多少种情况,然后每一小组的情况累乘就是总种数
第三题
能源石
有一天,小Q找到了一座矿山,我们可以把这座矿山抽象地看成一个字符串 S 。
其中的每个矿石都可以看成一个字符,其中当一些矿石遵循一种特殊的元素排列时(用字符串 P 表示),它就能构成一块能源石。
同时,相邻的两块能源石能够融合成一块更大的能源石,融合时它们前缀和后缀相同的部分可能会重叠在一起。
比如:标准的能源石排列为aba,那么两块标准能源石的融合结果就可能为 {abaaba, ababa, aba}。一块能源石的能量等于它长度的平方。
现在小Q希望你告诉他最多可以获得多少能量。
输入描述:
输入的第一行为字符串S,第二行为字符串P。|S|, |P| <= 106
输出描述:
能够获得的能量总和 示例1
输入
xyabababcba
ab 输出
36 示例2
输入
aaa
aa 输出
9
题解
var s = readline();
var a = readline();
var n = 0;
var t = 0;
var slen = s.length;
var alen = a.length;
var x = 0;
for(let i=0;i<slen+1;i++){
let ss = s.slice(i,i+alen);
if(ss==a){
t++;
x = alen-1;
}else{
if(x>0) {
x--;
t++;
}else{
n += t*t;
t = 0;
}
}
}
print(n);
解析:就是挨着匹配,第一次成功开始计算长度t,然后i++,如果下一次匹配失败但是还没脱离之前匹配成功的字段,则t继续加加,匹配失败记录x--,如果中间匹配成功则重置x=alen-1,如果x=0,则说明本次匹配失败,记录这一段的能量,然后重置长度t=0,然后继续匹配,有个小细节,匹配长度是slen+1,多匹配一次使得最后一个肯定失败,避免最后一段没有记录能量
前端 9.16腾讯-2019校园招聘(正式卷)编程题题解(js)的更多相关文章
- 腾讯2020校园招聘-后台&综合-第一次笔试 题解
对数据结构和算法感兴趣的可以关注一下https://github.com/MCQ1999/Datastructure_Algorithm_Solutions,分享算法题的解题思路和代码~ 1.压缩算法 ...
- 京东2019春招Java工程师编程题题解
生成回文串 题目描述 对于一个字符串,从前开始读和从后开始读是一样的,我们就称这个字符串是回文串. 例如"ABCBA","AA","A"是回 ...
- 牛客腾讯2020校园招聘-后台&综合-第一次笔试
第一题 Q: 小Q想要给他的朋友发送一个神秘字符串,但是他发现字符串的过于长了,于是小Q发明了一种压缩算法对字符串中重复的部分进行了压缩,对于字符串中连续的m个相同字符串S将会压缩为m|S,例如字符串 ...
- 2019山东ACM省赛L题题解(FLOYD传递闭包的变形)
本题地址 https://cn.vjudge.net/contest/302014#problem/L Median Time Limit: 1 Second Memory Limit: 6 ...
- 2018春季校园招聘笔经面经合集:Java开发岗
2018春季校园招聘笔经面经合集:Java开发岗 以下为精选面经: 美团外卖配送部后台开发面经 nowcoder.com/discuss/76 春招总结,干货满满 nowcoder.com/discu ...
- 我是怎么和SAP结缘的 - Jerry的SAP校园招聘之路
2006年9月,结束了一年的北京中科院实习后,我回到了电子科技大学,此时已经是研三上学期了.有着"金九银十"之称的秋季校园招聘正式开始了. 准备好了简历后,Jerry也加入了浩浩荡 ...
- 校园招聘 - 比較easy的面试题
又到校园招聘的季节了, 自从和一些同事出版了<编程之美>一书之后, 我常常收到一些关于面试, 编程, 和"题库"的询问. 事实上我自己对算法没有什么研究, 有些问题都 ...
- google2013校园招聘笔试题(全国)
google2013校园招聘笔试题 1. 单项选择题1.1如果把传输速率定义为单位时间内传送的信息量(以字节计算)多少.关于一下几种典型的数据传输速率:1.使用USB2.0闪存盘,往USB闪存盘上拷贝 ...
- Microsoft 2013校园招聘笔试题及解答
Microsoft 2013校园招聘笔试题及解答 题目是自己做的,求讨论.吐槽.拍砖 1. Which of the following callingconvension(s) suppo ...
随机推荐
- Java基础小知识(一)
序言:“不积跬步,无以至千里.不积小流,无以成江海.”每一个庞大的知识架构都是由无数个小知识点慢慢积累起来的,没有量变的积累,就没有质变上的飞跃,成功往往离不开积累. 今天就和大家分享一些我在学习J ...
- 简单实现一个Unity3d的Timer
数量使用的不太多,没有实现对象池. using System.Collections; using System.Collections.Generic; using UnityEngine; usi ...
- spring面试合集
Spring是一个开源的轻量级Java SE / Java EE开发应用框架.在传统应用程序开发中,一个完整的应用是由一组相互协作的对象组成.所以开发一个应用除了要开发业务逻辑之外,最多的是关注如何使 ...
- 【StarUML】 活动图
StarUML中的活动图本质上是流程图,活动图相对来说,更加专业,它有对信号的处理,对状态动作.数据区别表示,使得更清晰地了解控制流的走向. 1.基本元素 a.活动状态图(Activity).动作状态 ...
- # E. Mahmoud and Ehab and the xor-MST dp/数学+找规律+xor
E. Mahmoud and Ehab and the xor-MST dp/数学/找规律 题意 给出一个完全图的阶数n(1e18),点由0---n-1编号,边的权则为编号间的异或,问最小生成树是多少 ...
- ansible笔记(1):ansible基本概念
一.基础概念 1.ansible是什么? ansible是一个配置管理工具,是一个自动化运维工具. 2.ansible能做什么? 它可以完成一组批量化的工作任务,或者经常重复性的工作任务.例如:a.在 ...
- LED Decorative Light Manufacturer - Decorative Lighting: Functionality And Aesthetics
Whether it is for general ambient lighting, task lighting or accent lighting, the decorative lightin ...
- AC3 Rematrix
当L R channel highly correlated时,AC3 encoder 使用rematrix技术压缩L/R的和和差. 原始信号为left,right,使用rematrix压缩信号为le ...
- 用js实现鼠标点击爱心特效
效果如图以下是代码 <script> !function(e, t, a) { function r() { for (var e = 0; e < s.length; e++) s ...
- 【做题笔记】P1330 封锁阳光大学
读题易得:对于有边的两个点 \(u,v\) ,能且仅能其中一点对这条边进行封锁. 什么意思呢?假设给这张图上的点进行染色,那么对于上述的两个点 \(u,v\) ,\(u,v\) 必须异色(理解这一点很 ...