2024年大数据最全【c++百日刷题计划】 —,大数据开发开发工程师面试题目

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  • 1)记录每个人的姓名和成绩。
  • 2)依次遍历,和最大成绩比较,若大于最大成绩,则替换最大成绩。
  • 3)若相等或小于最大成绩不用操作。
  • 4)输出答案。

参考代码

#include<bits/stdc++.h>
using namespace std;
string name[1005];
int cg[1005],mg[1005],eg[1005];
int main(){
    int n,max=-999999,ans;
    scanf("%d",&n);
    for(int a=0;a<n;a++)    cin>>name[a]>>cg[a]>>mg[a]>>eg[a];
    for(int b=0;b<n;b++)
    {
        if(cg[b]+mg[b]+eg[b]>max)
        {
            max=cg[b]+mg[b]+eg[b];
            ans=b;
        }
    }
    cout<<name[ans]<<" "<<cg[ans]<<" "<<mg[ans]<<" "<<eg[ans];
    return 0;
}

第二题 [NOIP2006 普及组] 开心的金明

题目描述

金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过

N

N

N元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的

N

N

N元。于是,他把每件物品规定了一个重要度,分为

5

5

5等:用整数

1

5

1-5

1−5表示,第

5

5

5等最重要。他还从因特网上查到了每件物品的价格(都是整数元)。他希望在不超过

N

N

N元(可以等于

N

N

N元)的前提下,使每件物品的价格与重要度的乘积的总和最大。

设第

j

j

j件物品的价格为

v

[

j

]

v[j]

v[j],重要度为

w

[

j

]

w[j]

w[j],共选中了

k

k

k件物品,编号依次为

j

1

,

j

2

,

,

j

k

j_1,j_2,…,j_k

j1​,j2​,…,jk​,则所求的总和为:

v

[

j

1

]

×

w

[

j

1

]

v

[

j

2

]

×

w

[

j

2

]

v

[

j

k

]

×

w

[

j

k

]

v[j_1] \times w[j_1]+v[j_2] \times w[j_2]+ …+v[j_k] \times w[j_k]

v[j1​]×w[j1​]+v[j2​]×w[j2​]+…+v[jk​]×w[jk​]。

请你帮助金明设计一个满足要求的购物单。

输入格式

第一行,为

2

2

2个正整数,用一个空格隔开:

n

,

m

n,m

n,m(其中

N

(

<

30000

)

N(<30000)

N(<30000)表示总钱数,

m

(

<

25

)

m(<25)

m(<25)为希望购买物品的个数。)

从第

2

2

2行到第

m

1

m+1

m+1行,第

j

j

j行给出了编号为

j

1

j-1

j−1的物品的基本数据,每行有

2

2

2个非负整数$ v p

(其中

(其中

(其中v

表示该物品的价格

表示该物品的价格

表示该物品的价格(v \le 10000)

,p$表示该物品的重要度(

1

5

1-5

1−5)

输出格式

1

1

1个正整数,为不超过总钱数的物品的价格与重要度乘积的总和的最大值

(

<

100000000

)

(<100000000)

(<100000000)。

样例 #1

样例输入 #1
1000 5
800 2
400 5
300 5
400 3
200 2

样例输出 #1
3900

解题思路

  • 1)简单的01背包问题,直接背板子。

参考代码

#include<bits/stdc++.h>
using namespace std;
int dp[105000];
int main()
{
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		int v,p;
		cin>>v>>p;
		for(int j=n;j>=v;j--)
		{
			dp[j]=max(dp[j],dp[j-v]+v\*p);
		}
	}
	cout<<dp[n];
    return 0;
}

第三题 组合的输出

题目描述

排列与组合是常用的数学方法,其中组合就是从

n

n

n 个元素中抽出

r

r

r 个元素(不分顺序且

r

n

r \le n

r≤n),我们可以简单地将

n

n

n 个元素理解为自然数

1

,

2

,

,

n

1,2,\dots,n

1,2,…,n,从中任取

r

r

r 个数。

现要求你输出所有组合。

例如

n

=

5

,

r

=

3

n=5,r=3

n=5,r=3,所有组合为:

123

,

124

,

125

,

134

,

135

,

145

,

234

,

235

,

245

,

345

123,124,125,134,135,145,234,235,245,345

123,124,125,134,135,145,234,235,245,345。

输入格式

一行两个自然数

n

,

r

(

1

<

n

<

21

,

0

r

n

)

n,r(1<n<21,0 \le r \le n)

n,r(1<n<21,0≤r≤n)。

输出格式

所有的组合,每一个组合占一行且其中的元素按由小到大的顺序排列,每个元素占三个字符的位置,所有的组合也按字典顺序。

**注意哦!输出时,每个数字需要

3

3

3 个场宽。以 C++ 为例,你可以使用下列代码:**

cout << setw(3) << x;

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

,

235

,

245

,

345

123,124,125,134,135,145,234,235,245,345

123,124,125,134,135,145,234,235,245,345。

输入格式

一行两个自然数

n

,

r

(

1

<

n

<

21

,

0

r

n

)

n,r(1<n<21,0 \le r \le n)

n,r(1<n<21,0≤r≤n)。

输出格式

所有的组合,每一个组合占一行且其中的元素按由小到大的顺序排列,每个元素占三个字符的位置,所有的组合也按字典顺序。

**注意哦!输出时,每个数字需要

3

3

3 个场宽。以 C++ 为例,你可以使用下列代码:**

cout << setw(3) << x;

[外链图片转存中…(img-folBW2xP-1715245696183)]
[外链图片转存中…(img-FbVbFpvQ-1715245696184)]
[外链图片转存中…(img-QwnvD97o-1715245696184)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值