第一题题目没看懂

团的蛋糕铺长期霸占着美团APP中“蛋糕奶茶”栏目的首位,因此总会吸引各路食客前来探店。

小团一天最多可以烤n个蛋糕,每个蛋糕有一个正整数的重量。

早上,糕点铺已经做好了m个蛋糕。

现在,有一个顾客要来买两个蛋糕,他希望买这一天糕点铺烤好的最重的和最轻的蛋糕,并且希望这两个蛋糕的重量恰好为a和b。剩余的n-m个蛋糕可以现烤,请问小团能否满足他的要求

按答案意思是顾客的要求是已经烤好的m个蛋糕的重量应该介于a\b之间。
关键理解n是什么作用,n-m是现烤的,现烤的是完全可以满足要求的,如果烤好的已经超过了的话,就得返回false了。

抄了份题解

/*
20:46
总共n个,已有m个,a最重b最轻
已有的蛋糕数量已知
首先,要买最重和最轻。如果a,b在已有蛋糕重量中不是最重和最轻,则无法满足
设还可以烤k个蛋糕,k=n-m.如果n < 2,pass,no如果n >= 2:
m == 0, 则k = 2,yes
m == 1:
如果这个蛋糕=a或=b, k >= 1,yes
如果这个蛋糕b<蛋糕<a,我们需要自己做a,b,此时如果k>=2,yes
m >= 2:
如果所有蛋糕都在[b,a],且有a也有b,yes
如果所有蛋糕都在(b,a),我们要自己做a,b. 若k>=2,yes
以上,把n和m所有可能的情况都考虑到了,再加上a和b比较大小这种坑b条件
*/#include <bits/stdc++.h>
using namespace std;int main()
{int n, m, a, b;while(~scanf("%d%d%d%d",&n,&m,&a,&b)){bool f = 0;int k = n-m;if(a < b) swap(a,b); //**条件if(n >= 2){if(m == 0) f = 1;else if(m == 1){int x;scanf("%d",&x);if((x == a || x == b) && k >= 1) f = 1;if(x > b && x < a && k >= 2) f = 1;}else{int Max, Min;for(int i = 0;i < m;i++){int x;scanf("%d",&x);if(i == 0) Min = x, Max = x;Min = min(Min,x);Max = max(Max,x);}if(Min == b && Max == a) f = 1;if(Min >= b && Max <= a && k >= 2) f = 1;}}if(f) cout<<"YES"<<endl;else cout<<"NO"<<endl;}return 0;
}

第二题感觉能做出来,没集中精力,
小团是某综艺节目的策划,他为某个游戏环节设计了一种晋级规则,已知在这个游戏环节中每个人最后都会得到一个分数score_i,显而易见的是,游戏很有可能出现同分的情况,小团计划该环节晋级人数为x人,则将所有人的分数从高到低排序,所有分数大于等于第x个人的分数且得分不为0的人都可以晋级。

请你求出本环节的实际晋级人数。显然这个数字可能是0,如果所有人的得分都是0,则没有人满足晋级条件。
错误代码:没有考虑第x个人分数重复会有多个,所以是可能大于x的

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{int n,x;cin >> n >> x;vector <int> scores(n);for(int  i = 0;i < n;i++){int score;cin >> score;scores[i] = score;}sort(scores.begin(),scores.end(),greater<int>());int res = 0;while(res < x){//cout << scores[res] <<endl;if(scores[res] == 0){break;}res++;}cout << res << endl;return 0;
}

正确代码:做了简单的修改,

if(res >= x && scores[res] != scores[x-1]){break;}

把等于的那种情况排除出去

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{int n,x;cin >> n >> x;vector <int> scores(n);for(int  i = 0;i < n;i++){int score;cin >> score;scores[i] = score;}sort(scores.begin(),scores.end(),greater<int>());int res = 0;while(res < n){if(res >= x && scores[res] != scores[x-1]){break;}//cout << scores[res] <<endl;if(scores[res] == 0 ){break;}res++;}cout << res << endl;return 0;
}

小美请小团吃回转寿司。转盘上有N盘寿司围成一圈,第1盘与第2盘相邻,第2盘与第3盘相邻,…,第N-1盘与第N盘相邻,第N盘与第1盘相邻。小团认为第i盘寿司的美味值为A[i](可能是负值,如果小团讨厌这盘寿司)。现在,小团要在转盘上选出连续的若干盘寿司,使得这些寿司的美味值之和最大(允许不选任何寿司,此时美味值总和为0)。

输入描述:
第一行输入一个整数T(1<=T<=10),表示数据组数。

每组数据占两行,第一行输入一个整数N(1<=N<=10^5);

第二行输入N个由空格隔开的整数,表示A[1]到A[N](-104<=A[i]<=104)。

输出描述:
每组数据输出占一行,输出一个整数,表示连续若干盘寿司的美味值之和的最大值。

输入例子1:
1
4
3 -2 4 -1

输出例子1:
6

#include <bits/stdc++.h>
using namespace std;
int main(){int T,N;cin>>T;for(int i=0;i<T;i++){cin>>N;int Max=INT_MIN,Min=INT_MAX,res;vector<int> arr(N);for(int i=0;i<N;i++){cin>>arr[i];}int total=0;vector<int>dpMax(N);vector<int>dpMin(N);dpMax[0]=dpMin[0]=arr[0];total+=arr[0];//分析,最大值为单个序列最大或是首尾相连(总和减去最小值),取两者最大for(int i=1;i<N;i++){total+=arr[i];dpMax[i]=max(dpMax[i-1]+arr[i],arr[i]);dpMin[i]=min(dpMin[i-1]+arr[i],arr[i]);if(Max<dpMax[i]) Max=dpMax[i];if(Min>dpMin[i]) Min=dpMin[i];}res = max(Max,total-Min);cout<<res<<endl;}return 0;
}

美团2021校招笔试-编程题(通用编程试题,第9场)相关推荐

  1. 美团2021校招 技术综合-后台方向-编程题随笔

    美团2021校招技术综合-后台方向在线考试 不一样的逆序数 时问限制:3000MS 内存限制:589824KB 题目描述: 小团最丘对逆序数(将一个数字逐位逆序,例如1234的逆序数为4321)特别感 ...

  2. 58同城2021校招笔试真题-前端

    58同城2021校招笔试-前端 以下代码输出: console.log([1,2,3,4,5].splice(1,2,3,4,5)); console.log([1,2,3,4,5].slice(1, ...

  3. 【编程笔试】美团2021校招笔试-通用编程题第9场(附思路及C++代码)

    导览 练习地址 糕点 晋级人数 回转寿司 神秘的苹果树 总结 练习地址 点此前往练习 糕点 小团的蛋糕铺长期霸占着美团APP中"蛋糕奶茶"栏目的首位,因此总会吸引各路食客前来探店. ...

  4. 【编程笔试】美团2021校招笔试-通用编程题第4场(附思路及C++代码)

    导览 练习地址 小团无路可逃 小团的神秘暗号 小团的选调计划 小团的默契游戏 总结 练习地址 点此前往练习 小团无路可逃 小团惹小美生气了,小美要去找小团"讲道理".小团望风而逃, ...

  5. 【编程笔试】美团2021校招笔试-通用编程题第1场(附思路及C++代码)

    导览 练习地址 小美的送花路线 小美的评分计算器 小美的外卖省钱计划 小美的代金券要过期啦 总结 练习地址 点此前往练习 小美的送花路线 小美是美团的一名鲜花快递员,鲜花是一种保质期非常短的商品,所以 ...

  6. 【编程笔试】美团2021校招笔试-通用编程题第3场(附思路及C++代码)

    导览 练习地址 小美的仓库整理 小美的跑腿代购 小美的用户名 小美的区域会议 总结 练习地址 点此前往练习 小美的仓库整理 小美是美团仓库的管理员,她会根据单据的要求按顺序取出仓库中的货物,每取出一件 ...

  7. 美团2021校招笔试-编程题(通用编程试题,第1场)2. 小美的评分计算器

    美团对于商家的评价体系是1-5星评价体系,用户在完成订单之后可以对商家打1/2/3/4/5星,而在客户端上,商家的评级却不一定是整数,而是会显示小数点后的一位.很显然这就需要一个计算器了,小美拥有了一 ...

  8. 美团2021校招笔试-编程题(通用编程试题,第1场)1. 小美的送花线路

    小美是美团的一名鲜花快递员,鲜花是一种保质期非常短的商品,所以需要尽快送到客户手中,公司对于骑手的一个要求就是要规划送花的线路,使得骑手送完所有订单走的路程尽可能少.(骑手开始派送时带走了所有需要派送 ...

  9. 美团2021校招笔试-编程题(通用编程试题,第10场)

    import java.util.*;public class Main{public static void main(String[] args) {Scanner sc = new Scanne ...

最新文章

  1. 图卷积神经网络(GCN)入门
  2. Fundebug后端Java异常监控插件更新至0.2.0,支持Spring及Maven
  3. VC++中使用MFC通过ADO连接数据库
  4. java中如何取到一个对象的所有属性值,并且在创建一个相同的对象
  5. 解决Android Device Chooser 找不到设备问题
  6. java查询数据库以后的对齐问题
  7. Dapr + .NET 实战(七)Secrets
  8. Win32ASM学习[14]:符号扩展指令: CBW,CWDE,CDQ,CWD
  9. snmp获取交换机日志_日志审计系统和数据库审计系统的区别
  10. MySql免安装版安装配置,附MySQL服务无法启动解决方案
  11. COMSOL Multiphysics多物理场仿真技术与应用
  12. 外贸必备——各国常用搜索引擎
  13. hash函数的构造方法
  14. PADS——导出Gerber文件
  15. 树莓派是什么?能干什么?和单片机有什么区别?
  16. 【华为机试真题 Python实现】黑板上的数字涂颜色【2022 Q1 Q2 |100分】
  17. 想设计亿万级高并发架构,你要先知道高并发是什么?(转载)
  18. chrome使用tab键切换搜索
  19. 开源硬件童芯派了解一下?一个真创客聊聊开源硬件
  20. 华中科技大计算机考研相关信息

热门文章

  1. Android开发:使用CardView实现卡片式设计
  2. 学习一门语言难在什么地方?
  3. MyBatis使用if判空(案例详解)
  4. 休闲零食2022,分化、沉淀与决战
  5. [iOS]-NSTimer与循环引用的理解
  6. 解决127.0.0.1已拒接连接/ping localhost解析为::1的问题
  7. 奥斯汀页眉怎么设置_编辑页眉页脚怎么样每页不相同(编辑页眉页脚设置教程分享)...
  8. 华为HCIE RS笔记-20RIP(Routing information Protocol)
  9. 都什么年代了,打开个Word文档还能中毒!Locky病毒疯狂传播
  10. 剪辑音乐要很久?3行语句Python瞬间搞定