字节跳动2023秋招研发第五场笔试客户端方向(代码片段)

MangataTS MangataTS     2022-12-05     321

关键词:

文章目录

T1 求和为0的最长连续序列

通过:100%

思路

定义一个pre[i] 表示从第一个元素到第 i i i 个元素的影响和即前缀和思想,然后我们枚举左右区间即可,复杂度 n 2 n^2 n2

代码

#include <bits/stdc++.h>

using namespace std;

const int N = 1e3+10;

int pre[N];

int main()

	int n = 0;
	int t;
	while(cin>>t) 
		pre[++n] = t;
		pre[n] = pre[n-1] + pre[n];
	
	int ans = 0;
	for(int l = 1;l <= n; ++l) 
		for(int r = l + 1;r <= n; ++r) 
			if(pre[r] - pre[l - 1] == 0) 
				ans = max(ans,r-l+1);
		
	
	
	cout<<ans<<endl;
	
	return 0;

T2 族谱还原

通过:100%

思路

思路就是并查集,维护父子关系即可,主要麻烦再输入的处理上面

代码

#include <bits/stdc++.h>
using namespace std;

const int N = 5e2+10;

map<string,string> fa;
map<int,int> height;
vector<string> sum;

int n,m;

string find(string x) 
	while(x != fa[x]) x = fa[x];
	return x;


int Get_height(string x) 
	int h = 1;
	while(x != fa[x]) 
		x = fa[x];
		h++;
	
	return h;



void fixit(string str) 
	vector<string> tt;
	str.push_back(' ');
	tt.clear();
	int len = 0;
	int l = str.size();
	string tmp = "";
	for(int i = 0;i < l; ++i) 
		if(str[i] == ' ') 
			tt.push_back(tmp);
			len++;
			if(fa[tmp] == "") 
				fa[tmp] = tmp;
				sum.push_back(tmp);
			
			if(len != 1) 
				string lef = (tt[len - 2]);
				string rig = (tt[len - 1]);
				fa[rig] = lef;
			
			tmp = "";
			
			
		 else 
			tmp.push_back(str[i]);
		
	




int main()

	cin>>n;
	getchar();
	string tmp;
	for(int i = 1;i <= n; ++i) 
		vector<string> tt;
		tt.clear();
		int len = 0;
		getline(cin,tmp);
//		cout<<tmp<<endl;
		fixit(tmp);
	
	cin>>m;
	for(auto it : sum) 
		height[Get_height(it)]++;
	
	cout<<find(sum[0])<<endl;
	cout<<height[m]<<endl;
	
	return 0;

T3 二次方程租

通过:100%

思路

对每一个位置我们定义一个影响 b [ i ] b[i] b[i] ,如果当前位置 b [ i ] b[i] b[i] 乘二大于前一个位置(除开第一个位置),那么当前的状态就定义为 0 0 0 否则定义为 1 1 1 ,那么我们在对这个状态进行一个前缀和处理 p r e [ i ] pre[i] pre[i],这样我们就能快速求出一个子区间里面是否有违规定义,即区间和大于0,当然这里有个例外就是如果区间的第一个状态为 1 1 1 的话也是满足二次方程组的,所以这里特判一下即可,然后又加上区间长度固定 k + 1 k+1 k+1 ,所以从前往后扫一遍即可

代码

#include <bits/stdc++.h>

using namespace std;

#define ll long long

const int N = 1e5+10;

ll t;

ll a[N],pre[N];

void slove() 
	int n,k;
	cin>>n>>k;
	for(int i = 1;i <= n; ++i) 
		cin>>a[i];
		if(i == 1) pre[i] = 0;
		else 
			pre[i] = (a[i] * 2 <= a[i-1]) + pre[i-1];
		
	
	ll ans = 0;
	for(int i = 1;i <= n - k; ++i) 
		int l = i,r = i + k;
		ll res = pre[r] - pre[l - 1];
		if(a[l] * 2 <= a[i-1]) res--;
		if(res == 0) ans++;
	
	cout<<ans<<endl;
	


int main()

	cin>>t;
	while(t--) 
		slove();
	
	
	
	return 0;

T4 AB实验室同学冲刺

通过:10%

思路

思路一:想的是写一个BFS,但是感觉会T,于是就没写

思路二:讨论了一下奇偶的情况,发现没有找到啥关系,就硬算了等差数列求和

代码

#include <bits/stdc++.h>

using namespace std;

#define ll long long

ll n,x,y;

struct Node
	int loc;
	int lsize;
	int ttimes;
;

void slove() //通过率10%
	ll dis = abs(x - y);
	ll lef = (((dis + 1) / 2.0)) * 2;
	ll rig = ((dis)/2) * 2;
	ll ans = (ll)(((sqrt(4.0 * lef + 1.0) - 1.0))/2.0);
	ll ans2 = (ll)(((sqrt(4.0 * rig + 1.0) - 1.0))/2.0);
	ans = max(ans,ans2);
	cout<<(ans * 2) + 2<<endl;


void bfs() 
	int begin = min(x,y);
	
	queue<Node> que;
	//que.push()


int main()

	cin>>n;
	while(n--) 
		cin>>x>>y;
		slove();
	
	
	
	return 0;


2023秋招——快手数据研发一二面面经(代码片段)

...趣的小伙伴可以参考下面👇:链接:2022暑期实习字节跳动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经历.链接:2022暑期实习字节跳动数据研发面试经历-data部门链接:2021年暑假滴滴数据开发面试& 查看详情

2023秋招——快手数据研发一二面面经(代码片段)

...趣的小伙伴可以参考下面👇:链接:2022暑期实习字节跳动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经历.链接:2022暑期实习字节跳动数据研发面试经历-data部门链接:2021年暑假滴滴数据开发面试& 查看详情

2023秋招——大数据研发工程师提前批一面(代码片段)

...趣的小伙伴可以参考下面👇:链接:2022暑期实习字节跳动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经历.链接:2022暑期实习字节跳动数据研发面试经历-data部门链接:2 查看详情

2023秋招——大数据研发工程师提前批一面(代码片段)

...趣的小伙伴可以参考下面👇:链接:2022暑期实习字节跳动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经历.链接:2022暑期实习字节跳动数据研发面试经历-data部门链接:2 查看详情

2023秋招——大数据研发工程师提前批一面(代码片段)

...趣的小伙伴可以参考下面👇:链接:2022暑期实习字节跳动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经历.链接:2022暑期实习字节跳动数据研发面试经历-data部门链接:2 查看详情

最后一周!4000+hc免笔试!字节跳动2022校招研发提前批倒计时

...激烈的秋招还有一条通往offer的“捷径”——秋招提前批字节跳动的研发提前批倒计时最后一周还有同学没搭上「提前批」这趟快车吗?和正式秋招相比提前批的优势还是非常明显的『岗位多,机会多』提前批招聘量达到... 查看详情

2023秋招——大数据研发工程师提前批一面(代码片段)

...趣的小伙伴可以参考下面👇:链接:2022暑期实习字节跳动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经历.链接:2022暑期实习字节跳动数据研发面试经历-data部门链接:2021年暑假滴滴数据开发面试&#x... 查看详情

2023秋招——快手数据研发一二面面经(代码片段)

...趣的小伙伴可以参考下面👇:链接:2022暑期实习字节跳动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经历.链接:2022暑期实习字节跳动数据研发面试经历-data部门链接:2021年暑假滴滴数据开发面试&#x... 查看详情

2023秋招——快手数据研发一二面面经(代码片段)

...趣的小伙伴可以参考下面👇:链接:2022暑期实习字节跳动数据研发面试经历-基础数仓.链接:2022百度大数据开发工程师实习面试经历.链接:2022暑期实习字节跳动数据研发面试经历-data部门链接:2021年暑假滴滴数据开发面试&#x... 查看详情

2023秋招的第一个意向书(代码片段)

...一下这段时间的学习过程,给大家一些参考。下面是字节的意向书👇:1.自我介绍大家好,我叫柳小葱,来自北京某高校的管理科学与工程专业(人工智能与大数据方向)的学生,爱好就是打球、... 查看详情

2023秋招的第一个意向书(代码片段)

...一下这段时间的学习过程,给大家一些参考。下面是字节的意向书👇:1.自我介绍大家好,我叫柳小葱,来自北京某高校的管理科学与工程专业(人工智能与大数据方向)的学生,爱好就是打球、... 查看详情

字节跳动2020春招笔试-研发岗位(javac++大数据)(代码片段)

...溯法)四、特征提取方法:双hashMap前言如果能过字节的笔试,那应该没什么笔试能难倒你了࿰ 查看详情

字节跳动青训营笔试题解(代码片段)

...码T2.社交圈题目思路代码四、简答题题目思路前言第五届字节跳动青训营-后端专场笔试题解,简单做了一下,选择题和简答题不知道是否正确,编程题是通过了的,有问题欢迎评论,我会及时改正的~一、单选... 查看详情

字节跳动青训营笔试题解(代码片段)

...码T2.社交圈题目思路代码四、简答题题目思路前言第五届字节跳动青训营-后端专场笔试题解,简单做了一下,选择题和简答题不知道是否正确,编程题是通过了的,有问题欢迎评论,我会及时改正的~一、单选... 查看详情

字节跳动19春招研发第一次在线笔试-a卷

说明此博客仅为笔试记录所用,如涉及版权或保密问题,请联系我及时删除。联系方式:[email protected]找零时间限制:C/C++1秒,其他语言2秒空间限制:C/C++32768K,其他语言65536K64bitIOFormat:%lld题目描述Z国的货币系统包含面值1元... 查看详情

字节跳动2023校园招聘火热开启!

大家好,我是贺同学。最近字节跳动2023秋季校园招聘,正式批全面开启了。从之前学弟学妹的交流和内推结果,以及结合今年的校招形势来看,建议大家要早点准备,早点出击。从各方面来看,企业招人... 查看详情

字节跳动_玩转客户端训练营(代码片段)

时间:2020年5月20日-2020年6月28日地点:线上事情的起因一、得知活动这个活动当时是华工帮忙推广,所以华工的同学推荐给我了,非常感谢那位同学。二、入营笔试入营笔试有三道题,只做出了两道题,没有把题目记录下来有点... 查看详情

2021届字节跳动客户端提前批一面凉经(代码片段)

不得不说字节还是很难进的,提前批算是去试了一个水,自己的算法功底,还远远达不到要求,对操作系统,java虚拟机,多线程,进程等知识还有很大的欠缺,深度还远远不够,所以还是努力的刷题吧,希望秋招能顺利进入字... 查看详情