网易机试
Posted ruo-li-suo-yi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网易机试相关的知识,希望对你有一定的参考价值。
一、
输入描述:
6:代表课堂时长(分钟);3:代表提醒后清醒的时长;
1 3 5 2 5 4 是 6 个时长对应的兴趣值
1 1 0 1 0 0 是对应时间清醒与否。
找出叫醒的时间点,使得课堂兴趣值最大。
例如在三分钟时叫醒,这样在3、4、5分钟内都会清醒;这样该课堂兴趣值为(1+3+5+2+5=16)。
#include<iostream> #include<algorithm> #include<vector> using namespace std; int Inte[100000]; int SlpOrCle[100000]; int SlpOrCle1[100000]; int SumInte1(int *a,int *b,int n) //求兴趣点; { int suminte1=0; for(int i=0;i<n;i++) { if(b[i]==1) suminte1+=a[i]; } return suminte1; } int main() { int n,k; while(cin>>n>>k) { int Maxinte=0; for(int i=0;i<n;i++) cin>>Inte[i]; for(int i=0;i<n;i++) cin>>SlpOrCle[i]; for(int i=0;i<n;i++) SlpOrCle1[i]=SlpOrCle[i]; vector<int> Zeros; for(int i=0;i<n;i++) { if(SlpOrCle[i]==0) Zeros.push_back(i); } for(int i=0;i<Zeros.size();i++) { for(int j=Zeros[i];j<(Zeros[i]+k) and j<n;j++) { SlpOrCle1[j]=1; } int a; a=SumInte1(Inte,SlpOrCle1,n); if(a>Maxinte) { Maxinte=a; } for(int i=0;i<n;i++) SlpOrCle1[i]=SlpOrCle[i]; } cout<<Maxinte; } return 0; } //6 3 1 3 5 2 5 4 1 1 0 1 0 0
以上是关于网易机试的主要内容,如果未能解决你的问题,请参考以下文章
华为OD机试真题Java实现单词反转真题+解题思路+代码(2022&2023)
华为OD机试真题Python实现翻转单词顺序真题+解题思路+代码(2022&2023)
华为OD机试真题Java实现匿名信真题+解题思路+代码(2022&2023)