第一题

和谐的数字
牛牛很喜欢研究数字。一天,他发明了一种数字,叫做“和谐的数字”。
和谐的数字定义如下:
定义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)的更多相关文章

  1. 腾讯2020校园招聘-后台&综合-第一次笔试 题解

    对数据结构和算法感兴趣的可以关注一下https://github.com/MCQ1999/Datastructure_Algorithm_Solutions,分享算法题的解题思路和代码~ 1.压缩算法 ...

  2. 京东2019春招Java工程师编程题题解

    生成回文串 题目描述 对于一个字符串,从前开始读和从后开始读是一样的,我们就称这个字符串是回文串. 例如"ABCBA","AA","A"是回 ...

  3. 牛客腾讯2020校园招聘-后台&综合-第一次笔试

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

  4. 2019山东ACM省赛L题题解(FLOYD传递闭包的变形)

    本题地址 https://cn.vjudge.net/contest/302014#problem/L Median Time Limit: 1 Second      Memory Limit: 6 ...

  5. 2018春季校园招聘笔经面经合集:Java开发岗

    2018春季校园招聘笔经面经合集:Java开发岗 以下为精选面经: 美团外卖配送部后台开发面经 nowcoder.com/discuss/76 春招总结,干货满满 nowcoder.com/discu ...

  6. 我是怎么和SAP结缘的 - Jerry的SAP校园招聘之路

    2006年9月,结束了一年的北京中科院实习后,我回到了电子科技大学,此时已经是研三上学期了.有着"金九银十"之称的秋季校园招聘正式开始了. 准备好了简历后,Jerry也加入了浩浩荡 ...

  7. 校园招聘 - 比較easy的面试题

    又到校园招聘的季节了, 自从和一些同事出版了<编程之美>一书之后, 我常常收到一些关于面试, 编程,  和"题库"的询问. 事实上我自己对算法没有什么研究, 有些问题都 ...

  8. google2013校园招聘笔试题(全国)

    google2013校园招聘笔试题 1. 单项选择题1.1如果把传输速率定义为单位时间内传送的信息量(以字节计算)多少.关于一下几种典型的数据传输速率:1.使用USB2.0闪存盘,往USB闪存盘上拷贝 ...

  9. Microsoft 2013校园招聘笔试题及解答

    Microsoft 2013校园招聘笔试题及解答 题目是自己做的,求讨论.吐槽.拍砖 1.      Which of the following callingconvension(s) suppo ...

随机推荐

  1. rf关键字

    1.获取字典中的key ${b} Set Variable ${a}[0][dealer_buy_price] Log ${b}   2.${b}的float类型转换string 再和后面比较 Sho ...

  2. Thymeleaf th:include,th:replace使用

    来自:https://blog.csdn.net/believe__sss/article/details/79992408

  3. ASP.NET + MVC5 入门完整教程三 (下) ---MVC 松耦合

    建立松耦合组件 MVC 模式最重要的特性之一视他支持关注分离,希望应用程序中的组件尽可能独立,只有很少的几个可控依赖项.在理想的情况下,每个组件都不了解其他组件,而只是通过抽象接口来处理应用程序的其他 ...

  4. 转载:声音分贝的概念,dBSPL.dBFS

    转自:https://www.cnblogs.com/wangguchangqing/p/5947659.html 分贝 Decibel 分贝(dB)是一个对数单位(logarithmic unit) ...

  5. js对象冒充实现的继承

    //人类 function Person(name) { this.name = name; this.showName = function () { console.log("my na ...

  6. 如和针对CPU时间百分比,Mem使用bytes,以及Network RecvBytes/SendBytes指标性能压测数据可视化

    设计思路:通过jmeter5.1压测获取cpu,Mem,Network的压测指标数据利用pandas+openpyxl进行数据可视化: 涉及添加jar包:下载地址:https://files.cnbl ...

  7. 【做题笔记】P1330 封锁阳光大学

    读题易得:对于有边的两个点 \(u,v\) ,能且仅能其中一点对这条边进行封锁. 什么意思呢?假设给这张图上的点进行染色,那么对于上述的两个点 \(u,v\) ,\(u,v\) 必须异色(理解这一点很 ...

  8. 解决安装VMware Player出错,提示安装程序无法继续,microsoft runtime dll安装程序未能完成安装

    方案一: 以兼容模式运行和管理员方式运行安装程序,右键点击安装文件选择属性,在弹出的面板中修改兼容性如下 方案二: 下载最近版的VMWare player安装包哈哈 方案三: 1.双击VMware P ...

  9. Codeforces Round #599 (Div. 2) C. Tile Painting

    Ujan has been lazy lately, but now has decided to bring his yard to good shape. First, he decided to ...

  10. 2.5 【配置环境】多浏览器驱动 (chrome、IE、Firefox)❀

    来源:http://blog.csdn.net/huilan_same/article/details/51896672 http://www.cnblogs.com/thinkCoding/p/64 ...