【字节跳动】2019后端笔试题
早上10点的笔试,晕的要死,竟然没ak。。。都是因为第二题用了自己不熟悉的指针,一直找错。。
#include <iostream>
#include<cstring>
#include<cmath>
#include<string>
#include<map>
#include<algorithm>
#include<stdio.h>
using namespace std;
int n,m,c;
int x,y,z;
double a[101001];
const double eps=1e-3;
struct node
{char val;node *next;node(char s):val(s),next(NULL){}
};
void work(node *s)
{int sum=0;node *s1=s;int flag=0;while(s->val){while(s->next!=NULL){if(s->next->next==NULL)break;if((s->val==s->next->val)&&(s->val==s->next->next->val)){s->next=s->next->next;}else break;}while(s->next!=NULL){if(s->next->next==NULL)break;if(s->next->next->next==NULL)break;if((s->val==s->next->val)&&(s->next->next->val==s->next->next->next->val)){s->next->next=s->next->next->next;}else break;}if(s->next!=NULL)s=s->next;else break;}while(s1->val){printf("%c",s1->val);if(s1->next!=NULL)s1=s1->next;else break;}printf("\n");
}
int main()
{scanf("%d",&n);for(int i=0;i<n;i++){char ss[100000];scanf("%s",ss);node *p=new node('0');node *p1=p;for(int j=0;j<strlen(ss);j++){node *pp=new node(ss[j]);p->next=pp;p=p->next;}work(p1->next);}return 0;
}
偷个懒,直接转载别人的吧
作者:牛客975268537号
链接:https://www.nowcoder.com/discuss/163780
来源:牛客网
第一题,大水题,直接上代码:
1 2 3 4 5 |
|
第二题,比较简单,题目的中的两个判断条件,都只跟前2-3位字符有关。
思路:逐个判断字符,根据两个条件判断是否可以加到结果字符串中
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
|
第三题,Python挂掉,C++通过(不知道为什么字体变色了- -)
思路:从未分配奖品的人中选取分数最小的人,然后判断她两边的人是否分配了奖品
情况1. 如果两边都已经分配奖品,当前位置的分数肯定比两边大(结合情况2,即可简单证明),此时取两边奖品最大值+1即可。
情况2. 如果有未分配奖品的方向:当前位置分配奖品数1,沿着未分配的方向,依次分配,直到当前结点大于后继结点。
比如:分数 为 1 -> 2 -> 2 -> 5 -> 3
那么:奖品 为 1 -> 2 -> 1 -> 不分配 (遇到相同可以重置为1)
多说一句,如果一个方向分配,另一个方向未分配,则分配过奖品方向的那个位置的分数,肯定比当前位置大,可简单证明。
依次取分数最小的位置,不断遍历即可,复杂度(排序 NlogN, 遍历O(n)),故NlogN
代码,python 只过了11%数据,只好用C++重写了一遍:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
|
第四题,被数据量吓到了,但是这个数据量,肯定要二分长度,简单算下N*log(L)应该是可以过,所以二分最大长度,朴素的check是否满足就可以了
思路:能否等分出m个长度为L的绳子,在l ∈ [0, L] 上是个不减问题,即如果某个满足此条件的最大位置为l,则大于l的无法等分,小于l的可以等分
因此,二分满足题意的L,找到最大位置判断即可,复杂度已经算过是OK的,注意停止条件和输出位数有关;以及边界问题(r减 l不增,因为k是满足的)
代码,怕python不过,直接c++了:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
【字节跳动】2019后端笔试题相关推荐
- 字节跳动Java后端笔试题
1.第一题. 字节跳动在北京有N个工区,形成一个环状,Bytebus是往返在各个工区的通勤车,按工区的顺序行驶,其中第 i 个工区有汽油 gas[i] 升. 你有一辆油箱容量无限的的Bytebus,从 ...
- 字节跳动2019校招笔试题(后端开发)一
题目描述 第一题:产品经理转程序员 c++版代码 测试用例可以通过 #include <iostream> #include <string> #include <vec ...
- 字节跳动2019年笔试题
文章目录 题目一:母牛生小牛问题 题目二:麻将游戏 题目三:特工 题目四:最长全一区间 题目一:母牛生小牛问题 题目二:麻将游戏 题目三:特工 题目四:最长全一区间
- 2020 字节跳动java面试笔试题 (含面试题解析)
本人5年开发经验.19年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.字节等公司offer,岗位是Java后端开发. 因为发展原因最终选择去了字节,入职一年时间了,也成为了面试官,之前 ...
- 20180415字节跳动今日头条笔试题——后台研发方向
[编码题|20分] 找周期 时间限制:C/C++ 5秒,其他语言 10秒 空间限制:C/C++ 65536K,其他语言 131072K . 题目描述 . 对于严格递增的正整数数列A=a1.a2.--. ...
- 字节跳动2019春招后端开发工程师-笔试题解析
一.简介 字节跳动2019春招第三批在线笔试(后端开发工程师)已结束,结果也是凉凉.本文主要是分析这次的题目,并给出代码,以供大家参考和讨论,如有错误之处,还望帮忙指正,谢谢每位优秀的程序员. 二.题 ...
- 算法:割绳子问题(字节跳动2019笔试)
@[算法] 割绳子问题(字节跳动2019笔试) 字节跳动2019笔试题 问题描述 总共有n条长度不等绳子,可以任意切割,不能拼接.要求切割后得到m条长度相等的绳子,求问得到的m条绳子长度L的最大值 输 ...
- 【前端面试】字节跳动2019校招面经 - 前端开发岗(二)
[前端面试]字节跳动2019校招面经 - 前端开发岗(二) 因为之前的一篇篇幅有限,太长了看着也不舒服,所以还是另起一篇吧? 一. jQuery和Vue的区别 jQuery 轻量级Javascript ...
- 字节跳动java后端一面面经(头条/西瓜视频)
字节跳动java后端一面面经 面试时间:4月25日 时长:1小时 面试官人挺不错的,感觉挺有经验的,但是感觉技术栈应该不是java tcp连接如何保证高可用 回答:三次握手四次挥手.校验和.滑动窗口. ...
最新文章
- Sql Server:创建用户并指定该用户只能看指定的视图
- 【pmcaff】 会员原创讨论贴:互联网产品部-如此的羁绊
- MPLS TE基本配置-OSPF
- 自动化运维工具Saltstack详细介绍
- html from嵌套from
- 华为 招聘 状态 查看_英特尔放弃5G芯片研发:三星受益;爱立信2019年Q1净利润约2.51亿美元;华为也将要与高通和解;天津首个5G电话成功打通...
- 今天开始记录我的开发生涯
- kafka应用场景Kafka VS Flume
- 找换硬币问题 与 0-1背包问题区别
- 算法与数据结构 第3章 高级排序算法中 归并算法改进
- POI数据获取-Python
- Excel函数公式大全—IF函数
- 2008年中国网游产业发展六大趋势
- React(10)-组件通信(important)
- 基于c#winform的可视化打印标签模板设计器及Labview与C#调用模板Demo
- python-包引入和.py打包成无需环境的.exe
- [ORACLE] ORA-03113错误解决方案
- java 数字转化为汉字_工具类_java 数字转化为汉字大写
- Android发送消息的核心代码,Android 抖音 发消息Call 调用 实现群发消息 代码hook源码...
- 咖啡技术培训:9款网红咖啡制作配方合集,简单快速