深信服笔试全A代码

第一题:

#include <iostream>
#include <stdlib.h>
#include <vector>
using namespace std;
int main()
{
	int n;
	cin >> n;
	long long sum = 0;
	vector<long long> v(n, 0);
	for (int i = 0; i < n; i++)
	{
		cin >> v[i];
	}
	long long minvalue = v[0];
	for (int i = 0; i < v.size(); i++)
	{
		if (v[i] < minvalue)
		{
			minvalue = v[i];
		}
	}
	for (int i = 0; i < v.size(); i++)
	{
		sum = sum + v[i] - minvalue;
	}
	cout << sum;
	return 0;
}

第二题

#include <iostream>
#include <stdlib.h>
#include <vector>
#include <string>
using namespace std;
int main()
{
	string s;
	getline(cin, s);
	int n;
	int a, b;
	cin >> n;
	vector<int> v;
	for (int i = 0; i < 10; i++)
		v.push_back(i);
	while (n)
	{
		cin >> a >> b;
		for (int i = 0; i < 10; i++)
		{
			if (v[i] == a)
				v[i] = b;
		}
		n--;
	}
	for (int i = 0; i < s.length(); i++)
	{
		if (v[s[i] - '0'] != s[i] - '0')
			s[i]= v[s[i] - '0']+'0';
	}
	cout << s;
	return 0;
}


#笔试题目##深信服#
全部评论
老哥的思路更清晰👍
2 回复
分享
发布于 2020-08-25 22:00
我这个哪里错了  AC不了
点赞 回复
分享
发布于 2020-08-25 22:05
小红书
校招火热招聘中
官网直投
大佬能讲下第一题思路吗😓
点赞 回复
分享
发布于 2020-08-25 22:08
老哥 可以简单说说第一题你的解法原理嘛?
点赞 回复
分享
发布于 2020-08-25 22:27
太强了吧
点赞 回复
分享
发布于 2020-08-25 22:32
第一题为什么每个数都要减去最小值呢
点赞 回复
分享
发布于 2020-08-25 22:44
第二题为啥一直报段错误啊?但是本地编译器可以运行。
点赞 回复
分享
发布于 2020-08-25 22:44
第一题sum用int类型不行吗,还有最小值为什么也要用long long类型?我第一题用的和楼主一样的方法,只不过我是int sum=0,找最小值用的sort排序,然后索引从1开始,后面的都减去nums[0]然后相加,可是一直是0.00%
点赞 回复
分享
发布于 2020-08-25 23:45
求问大佬,本地两题都通过,牛客一直提醒段错误,数组超界,不知道问题出在哪!!
点赞 回复
分享
发布于 2020-08-25 23:47
是不是不同岗位的题不一样呢,我感觉这两道题的思路都没对上
点赞 回复
分享
发布于 2020-08-26 00:00
两题的做法都和你一摸一样😂,但是第一题我没用long long导致怀疑自我,换了别的方法,结果一直过不了。
点赞 回复
分享
发布于 2020-08-26 09:19
大佬能吧题目贴一贴么
点赞 回复
分享
发布于 2020-08-26 15:27
第二题替换的只会是0-9这10个数字吗?我想复杂了,我以为任意两个数比如23替换为520,需要在里边找到所有的23全替换为520。
点赞 回复
分享
发布于 2020-08-26 16:47
第二题遇到2→3、4→2、7→4这样的测试用例怎么办,建立并查集应该是v[i] = v[b];吧。
点赞 回复
分享
发布于 2020-09-15 04:43

相关推荐

8 25 评论
分享
牛客网
牛客企业服务