前端 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 ...
随机推荐
- MyBatis 逆向工程——根据数据表自动生成model、xml映射文件、mapper接口
MyBatis Generator(MBG)的使用 MBG可以根据数据表生成对应的model.xml映射文件.mapper接口,只是简单的生成,还需要根据需求修改. 1.下载jar包 https:// ...
- 返回一条最近一次cURL操作明确的文本的错误信息。
参考:https://www.runoob.com/php/func-curl_error.html <?php // 创建一个指向一个不存在的位置的cURL句柄 $ch = curl_init ...
- go 语言实现栈原理
package main import "fmt" type StackNode struct { Data interface{} //数据 Next *StackNode // ...
- dijkstra堆优化板子
咕咕咕. #include<queue> #include<cstdio> #include<cstring> #include<algorithm> ...
- SQLServer使用链接服务器远程查询
--创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogi ...
- spring(四):DI流程
在IoC容器初始化过程中,一般不包含Bean依赖注入的实现. 依赖注入一般发生在应用第一次向容器获取Bean时(getBean),但是有一个例外. 在使用IoC容器时有一个预实例化的配置,即通过laz ...
- Web API和Web Service
首先,Web API是由Web Service演变而来,它们两者关系就是所有Web Service都是API,但并非所有API都是Web Service.其次,两者都有利于信息的传输,但Web API ...
- 「口胡题解」「CF965D」Single-use Stones
目录 题目 口胡题解 题目 有许多的青蛙要过河,可惜的是,青蛙根本跳不过河,他们最远只能跳 \(L\) 单位长度,而河宽 \(W\) 单位长度. 在河面上有一些石头,距离 \(i\) 远的地方有 \( ...
- 2.(group by)如何让分组后,每组中的数据按时间倒序排列(group by和 order by的分组按排列)
比如说有表devicedata: 问题: 现在我想将devicedata这个表中的数据,先按device_id这个字段分组,然后每组中的数据按时间字段ts从大到小的排列, 如何解决呢? 错误的sql: ...
- 关于python 的 __future__
经常看到__future__: from __future__ import absolute_importfrom __future__ import print_functionfrom __fu ...