【牛客网】字节跳动2019春招研发部分编程题汇总
1-万万没想到之聪明的编辑
解题思路
此题的编辑规则如下
- 三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello
- 两对一样的字母(AABB型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:比如 helloo -> hello
- 上面的规则优先“从左到右”匹配,即如果是AABBCC,虽然AABB和BBCC都是错误拼写,应该优先考虑修复AABB,结果为AABCC
从题目可以看出,本题的规则实际上只有两个,1和2,1是指连续3个同样的字母,则去掉一个;
2是指两对一样的字母,则去掉第二对的一个字母。第3条规则告诉我们规则是从左往右匹配,因此每次我们去掉的字母都将是形成这种规则的最后一个字母。
所以对给定的字符串,先对其执行规则1,再执行规则2。
代码
#include<iostream>
#include<string>
using namespace std;
int main() {int n;cin >> n;while (n--) {string s;cin >> s;//规则1for (int i = 2; i < s.length(); i++) {if (s[i] == s[i - 1] && s[i - 1] == s[i - 2]) {s.erase(i, 1);//满足规则1,删除一个该字符i--;if (s.length() < 3) break;}}//规则2for (int i = 3; i < s.length(); i++) {if (s[i] == s[i - 1] && s[i - 2] == s[i - 3]) {s.erase(i, 1);//满足规则2,删除一个该字符i--;if (s.length() < 3)break;}}cout << s << endl;}
}
2-万万没想到之抓捕孔连顺
解题思路
参考自该博客
题目的意思,就是给定一系列已排序的数,从这些数中任选三个数,使其满足最大和最小的数差值小于等于给定值。
我觉得下面该blog的思想有些不对,如果打印出具体的组合将是错误的结果,但是由于其计算组合数的数目是对的,因此产生了正确的结果;
例如下面的输入
输入:
4 3
1 2 3 4
对于blog中的思想,其将产生的组合分别为:
#此时left=0,right=2
1 2 3
#此时left=0,right=3
1 2 3
1 2 4
1 3 4
可以看出组合数量是对的,但真正的组合并没有求对,在right=3时,发生了重复,多了一组,而这组应该为2 3 4
代码
#include<iostream>
#include<vector>
using namespace std;
long long C(long long n) {//计算Cn2的值return (n - 1) * n / 2;
}
int main() {int N,D;while (cin >> N >> D) {vector<int> arr(N);for (int i = 0; i < N; i++) {cin >> arr[i];}//固定p_left,移动p_right,如果满足两者之差<=D,则从[p_left+1,p_right]中选择两个,即为存在的个数long p_left = 0,p_right =2,count = 0;for (; p_right < N;p_right++) {while (arr[p_right] - arr[p_left] > D) {p_left++;}count += C(p_right - p_left);}cout<<count%99997867;}return 0;
}
4-特征提取
解题思路
使用map<pair<int, int>, pair<int, int>>
;//key-特征(x,y)-value-(起点帧的序号,特征计数)
遍历每个帧,加入新特征或者更新已存在特征的帧起点,特征计数
1、如果该特征不存在,则添加该特征到map
2、如果该特征存在
通过判断(当前帧号==特征起点帧号+特征计数),相等表示连续
(1)如果该特征是连续的,特征计数+1;
(2)如果该特征是不连续的,更新特征起点为当前帧号,特征计数+1;
参考自题解
代码
#include<iostream>
#include<map>
#include<algorithm>
using namespace std;
int main() {int n;cin >> n;//样例数for (int k = 0; k < n; k++) {int m;//帧数cin >> m;map<pair<int, int>, pair<int, int>> mp;int maxLen = 1;for (int i = 0; i < m; i++) {int t;//本帧特征数cin >> t;for (int j = 0; j < t; j++) {int x, y;pair<int, int> p;cin >> p.first >> p.second;//判断该帧是否存在//不存在if (mp.find(p) == mp.end()) {//原本无该特征,添加该特征mp[p].first = i;//该帧的起点帧mp[p].second = 1;//该特征初始计数为1}//存在else {//连续if (i == mp[p].second + mp[p].first) {mp[p].second++;maxLen = max(maxLen, mp[p].second);}//不连续else {mp[p].first = i;//更新起始帧号mp[p].second = 1;//更新计数}}}}cout << maxLen << endl;}return 0;
}
【牛客网】字节跳动2019春招研发部分编程题汇总相关推荐
- 字节跳动2019春招研发部分编程题汇总(Python版本)
一.万万没想到之聪明的编辑 王大锤是一家出版社的编辑,负责校对投稿来的英文稿件,他发现一个发现拼写错误的捷径: 三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> ...
- 字节跳动2019春招研发部分编程题汇总【题解】
差不多2个小时才AK,题目难度还行吧. 自己好菜. 题目地址:https://www.nowcoder.com/test/16516564/summary 目录 万万没想到之聪明的编辑 [模拟] 万万 ...
- 字节跳动2019春招研发部分编程题汇总
一:万万没想到之聪明的编辑 题目描述 给定一个字符串,按照要求修改字符串,输出最后的结果 1. 三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello 2 ...
- 【公司真题--字节跳动】字节跳动2019春招研发部分编程题汇总
文章目录 1.万万没想到之聪明的编辑 2.万万没想到之抓捕孔连顺 解法一:回溯(超时) 解法二:确定区间后数学组合问题直接求解 3.雀魂启动 1.万万没想到之聪明的编辑 直接暴力了! #include ...
- [C语言]字节跳动2019春招研发部分编程题
1.万万没想到之聪明的编辑 题目描述: 我叫王大锤,是一家出版社的编辑.我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误.但是,优秀的人总能在平凡的工作中发现真理.我发现 ...
- 字节跳动2019春招研发部分编程题_N个建筑中选定3个埋伏地点_决定相距最远的两名特工间的距离不超过D_可行的埋伏方案
题目 import java.util.Scanner;public class Main_N_D_Second_2 {private static int mod = 99997867;public ...
- 数据、运营相关试题(二)【牛客网:京东2019春招产品运营类试卷】
试题来源:牛客网 试题答案仅供参考.其中前半部分偏向产品运营类试题,后半部分偏向综合测试类试题. 数据.运营相关内容,一起好好学习,天天向上吧! 数据.运营相关案例问答题(一)[牛客网:数据分析试题广 ...
- 数据、运营相关试题(一)【牛客网:京东2019春招商务与运营类试卷】
试题来源:牛客网 试题答案仅供参考.其中前半部分偏向商务类试题,后半部分偏向运营类试题. 数据.运营相关内容,一起好好学习,天天向上吧! 数据.运营相关案例问答题(一)[牛客网:数据分析试题广场] 数 ...
- 字节跳动2019春招研发机试题 万万没想到之聪明的编辑
我叫王大锤,是一家出版社的编辑.我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误.但是,优秀的人总能在平凡的工作中发现真理.我发现一个发现拼写错误的捷径:..... // ...
最新文章
- PHP的CURL报错的排查记录:短连接的成本真的很高啊
- glide_在Android中将数据绑定与Glide结合使用
- 大厂面试必问!给培训班出身的程序员一些建议
- IOS下将文字转成图片方法
- java 多线程变量可见性_Java多线程:易变变量,事前关联和内存一致性
- [Leedcode][JAVA][第25题][K个一组反转链表][链表][递归]
- CodeForces 1065E. Side Transmutations 计数
- Kickstart+HTTP+DHCP+TFTP全自动批量安装部署Linux系统
- Android编程之指定ListView的item位置
- 取值方法_函数的定义域和参数的取值范围详解
- html小作业--新闻栏目
- 如何防范短信接口被恶意攻击
- C#调用Bing的在线翻译接口Translator
- amd显卡风扇调节_显卡风扇转速调节
- 02 python入门
- 多余元素删除(多种代码)
- Win7虚拟机安装vs2019,亲测有效
- MAC M1/M2安装ADOBE等第三方软件问题终极解决 “开启任何来源”“无法检查更新,请确认您已接入互联网”“移除下载镜像的Quarantine属性” “闪退”【MACBOOK】
- 什么是ASCII码?
- 快速排序的三种方式以及快排的优化