9.6中兴嵌入式软件开发笔试
9.6笔试,记录一下。
一个舞蹈学院提供早晚课程。每个加入该学院的人都会获得一个唯一的ID。人们可以选择任意数量的舞蹈形式。有些在任何舞蹈形式上都不是很完美的人早晚课程都参加。舞蹈教练为参加课程的所有人员准备了一份早晚课程的单独列表。人员的ID在列表中重复的次数与他/她选择的舞蹈形式的数量相同。
该学院计划在年度活动中展示各种舞蹈形式。该学院想找一些能够在最后一天引领该活动的引领者。因此,教练正在寻找各种舞蹈形式中完美的舞者。根据教练的说法,完美的舞者是只上早课或者晚课一种课程的人。
写一个算法来找出教练选择来引领活动的完美舞者的人数。如果一个舞者在一种以上的舞蹈形式中是完美的,则他/她将被计算的次数与他/她完美的舞蹈形式的数量相同。
输入
该函数/方法的输入包括四个参数——
countMorning,一个整数,表示上早课的人数。
countEvening,一个整数,表示上晚课的人数。
morningList,一个整数列表,表示上早课人员的ID。
eveningList,一个整数列表,表示上晚课人员的ID。
输出
返回一个整数,表示教练选择来引领活动的完美舞者的人数。
示例
输入:
countMorning = 11
countEvening = 10
morningList = [1,1,2,3,4,5,5,7,6,9,10]
eveningList = [11,12,13,4,5,6,7,18,19,20]
输出:
12
解释:
早晚两个课程都参加的人员为4、5、6和7。
只参加早课或晚课的完美舞者为[1,1,2,3,9,10,11,12,13,18,19,20]。
所以,所有舞蹈形式的完美舞者人数是12。
代码如下(成功运行):
int perfectDancers(int countMorning, int countEvening, int *morningList, int *eveningList)
{
int Mcount = 0, Ecount = 0;
for (int i = 0; i < countMorning; i++)
{
//如果检测到-1,则退出此次循环
if (morningList[i] == -1)
continue;
for (int j = 0; j < countEvening; j++)
{
//如果检测到-1,则退出此次循环
if (eveningList[j] == -1)
continue;
//检测到相同的,则把后面所有相同的都置为-1
if (morningList[i] == eveningList[j]){
for (int n = i + 1; n < countMorning; n++){
if (morningList[n] == morningList[i])
morningList[n] = -1;
}
for (int m = j + 1; m < countEvening; m++){
if (eveningList[m] == eveningList[j])
eveningList[m] = -1;
}
}
//将两个相同的置为-1
morningList[i] = eveningList[j] = -1;
}
}
//求出两组数中非负的个数
for (int i = 0; i < countMorning; i++)
{
if (morningList[i] >= 0)
Mcount++;
}
for (int i = 0; i < countEvening; i++)
{
if (eveningList[i] >= 0)
Ecount++;
}
return Mcount+Ecount;
}
思路很清楚,把重复的数字删去(在这里置为-1)即可。
网址:9.6中兴嵌入式软件开发笔试 https://www.yuejiaxmz.com/news/view/40643
相关内容
记账软件存钱模式是什么2篇美容美发软件哪个好用 最新美容美发软件排行
美好嵌入生活 添可2024新品发布会开启家居美学新探索
美容美发软件推荐哪个 常用的美容美发软件精选
美容美发软件哪个好 十款常用美容美发软件推荐
美容美发软件哪个最好用 常用的美容美发软件推荐
嵌入式C程序中Const节省内存空间细节问题??
美容美发软件下载 常用的美容美发软件推荐
一体嵌入再升级!卡萨帝洗衣机发布“双嵌一体智平衡”科技 随着家居美学的兴起,家电与家居设计的融合已成为主流。对于高端消费者来说,他们不仅关注衣物护理的功能体验,也更关注设计美学...
生活中的办公软件有哪些