当前位置: 首页 > news >正文

php网站跟随导航手机百度如何发布作品

php网站跟随导航,手机百度如何发布作品,网站开发难吗,鹰潭做网站的公司问题描述 在一片神秘的森林里,住着许多兔子,但是我们并不知道兔子的具体数量。现在,我们对其中若干只兔子进行提问,问题是 “还有多少只兔子与你(指被提问的兔子)颜色相同?” 我们将每只兔子的…

问题描述

在一片神秘的森林里,住着许多兔子,但是我们并不知道兔子的具体数量。现在,我们对其中若干只兔子进行提问,问题是 “还有多少只兔子与你(指被提问的兔子)颜色相同?” 我们将每只兔子的回答收集起来,存放在一个整数数组 answers 中,其中 answers[i] 表示第 i 只兔子的回答。我们的任务是根据这个数组,计算出森林中兔子的最少数量。

示例分析

假设 answers = [1, 1, 2]

  • 有两只兔子回答 “1”,这意味着它们认为还有 1 只兔子和自己颜色相同,所以这两只兔子很可能是同一种颜色,这种颜色的兔子总数为 1 + 1 = 2 只。
  • 有一只兔子回答 “2”,它表示还有 2 只兔子和自己颜色相同,那么这种颜色的兔子总数为 2 + 1 = 3 只。
  • 综合起来,森林中兔子的最少数量就是 2 + 3 = 5 只。

解题思路

为了计算森林中兔子的最少数量,我们可以根据兔子的回答来分析。如果一只兔子回答有 k 只兔子和它颜色相同,那么包括这只兔子在内,同颜色的兔子一共有 k + 1 只。

我们可以使用哈希表(在 C 语言中可以用数组模拟)来统计每种回答出现的次数。对于每种回答 k,如果有 n 只兔子都回答 k,那么至少有 (n + k) / (k + 1) 种不同颜色的兔子群体,每种群体有 k + 1 只兔子。

代码实现

#include <stdio.h>
#include <stdlib.h>#define MAX_ANSWER 1000int numRabbits(int* answers, int answersSize) {int count[MAX_ANSWER + 1] = {0};// 统计每种回答出现的次数for (int i = 0; i < answersSize; i++) {count[answers[i]]++;}int total = 0;// 计算每种颜色的兔子数量for (int i = 0; i <= MAX_ANSWER; i++) {if (count[i] > 0) {// 计算这种颜色的兔子数量int x = i;int cnt = count[i];// 每 (x + 1) 只兔子为一组int groups = (cnt + x) / (x + 1);total += groups * (x + 1);}}return total;
}int main() {int answers[] = {1, 1, 2};int answersSize = sizeof(answers) / sizeof(answers[0]);int result = numRabbits(answers, answersSize);printf("Minimum number of rabbits: %d\n", result); return 0;
}

代码详细解释

1. 头文件与宏定义

#include <stdio.h>
#include <stdlib.h>#define MAX_ANSWER 1000
  • #include <stdio.h>:引入标准输入输出库,用于后续的 printf 函数输出结果。
  • #include <stdlib.h>:引入标准库,这里虽然代码中未直接使用库中的函数,但在更复杂的应用场景下可能会用到,提前引入作为储备。
  • #define MAX_ANSWER 1000:定义一个宏 MAX_ANSWER,表示兔子回答的最大可能值。这有助于后续代码中数组的创建和遍历范围的确定。

2. numRabbits 函数

int numRabbits(int* answers, int answersSize) {int count[MAX_ANSWER + 1] = {0};// 统计每种回答出现的次数for (int i = 0; i < answersSize; i++) {count[answers[i]]++;}int total = 0;// 计算每种颜色的兔子数量for (int i = 0; i <= MAX_ANSWER; i++) {if (count[i] > 0) {// 计算这种颜色的兔子数量int x = i;int cnt = count[i];// 每 (x + 1) 只兔子为一组int groups = (cnt + x) / (x + 1);total += groups * (x + 1);}}return total;
}
  • int count[MAX_ANSWER + 1] = {0};:创建一个长度为 MAX_ANSWER + 1 的数组 count,用于统计每种回答出现的次数,初始值都设为 0。
  • 第一个 for 循环:遍历 answers 数组,对于每个回答 answers[i],将 count[answers[i]] 的值加 1,从而统计出每种回答出现的次数。
  • int total = 0;:初始化一个变量 total,用于存储最终计算出的兔子最少总数。
  • 第二个 for 循环:遍历 count 数组,当 count[i] > 0 时,说明有兔子给出了回答 i
    • int x = i;int cnt = count[i];:将 i 赋值给 x,将 count[i] 赋值给 cnt,方便后续计算。
    • int groups = (cnt + x) / (x + 1);:计算至少有多少组颜色相同的兔子群体。
    • total += groups * (x + 1);:将每组兔子的数量乘以组数,累加到 total 中。

3. main 函数

int main() {int answers[] = {1, 1, 2};int answersSize = sizeof(answers) / sizeof(answers[0]);int result = numRabbits(answers, answersSize);printf("Minimum number of rabbits: %d\n", result); return 0;
}
  • 定义一个示例数组 answers,并计算其长度 answersSize
  • 调用 numRabbits 函数计算兔子的最少数量,将结果存储在 result 中。
  • 使用 printf 函数输出结果。

复杂度分析

  • 时间复杂度:代码中有两个主要的 for 循环。第一个循环遍历 answers 数组,时间复杂度为 O(n),其中 n 是 answers 数组的长度。第二个循环遍历 count 数组,由于 count 数组的长度是固定的(由 MAX_ANSWER 决定),可以看作一个常数,所以这个循环的时间复杂度为O(1)。综合起来,总的时间复杂度为 O(n)。
  • 空间复杂度:使用了一个长度为 MAX_ANSWER + 1 的数组 count 来统计回答次数,由于 MAX_ANSWER 是一个常数,所以空间复杂度为 O(1)。

文章转载自:
http://lumbrical.jpkk.cn
http://tephigram.jpkk.cn
http://chlamydomonas.jpkk.cn
http://anyways.jpkk.cn
http://overscrupulous.jpkk.cn
http://kathode.jpkk.cn
http://furnishings.jpkk.cn
http://harslet.jpkk.cn
http://rebill.jpkk.cn
http://ritzy.jpkk.cn
http://estocada.jpkk.cn
http://discommend.jpkk.cn
http://manufacturer.jpkk.cn
http://ablation.jpkk.cn
http://zhuhai.jpkk.cn
http://special.jpkk.cn
http://marketer.jpkk.cn
http://haustorial.jpkk.cn
http://monarch.jpkk.cn
http://crumby.jpkk.cn
http://homosexual.jpkk.cn
http://feast.jpkk.cn
http://chromatype.jpkk.cn
http://camping.jpkk.cn
http://pyxides.jpkk.cn
http://potatotrap.jpkk.cn
http://venturesome.jpkk.cn
http://root.jpkk.cn
http://vichy.jpkk.cn
http://mortgagee.jpkk.cn
http://vaporiform.jpkk.cn
http://odal.jpkk.cn
http://endotoxin.jpkk.cn
http://handwringer.jpkk.cn
http://cowlstaff.jpkk.cn
http://yeggman.jpkk.cn
http://prudently.jpkk.cn
http://sacral.jpkk.cn
http://panther.jpkk.cn
http://arctoid.jpkk.cn
http://dalmatia.jpkk.cn
http://augustinianism.jpkk.cn
http://corrugate.jpkk.cn
http://whencesoever.jpkk.cn
http://outshot.jpkk.cn
http://quackishness.jpkk.cn
http://tasimeter.jpkk.cn
http://totalisator.jpkk.cn
http://swelldom.jpkk.cn
http://keyswitch.jpkk.cn
http://miltonic.jpkk.cn
http://bouzoukia.jpkk.cn
http://chiseled.jpkk.cn
http://untraversed.jpkk.cn
http://seldom.jpkk.cn
http://unaltered.jpkk.cn
http://orange.jpkk.cn
http://nesting.jpkk.cn
http://cowpoke.jpkk.cn
http://methoxamine.jpkk.cn
http://mol.jpkk.cn
http://fluctuating.jpkk.cn
http://abnormity.jpkk.cn
http://hesiodian.jpkk.cn
http://zoopsychology.jpkk.cn
http://varier.jpkk.cn
http://yestermorn.jpkk.cn
http://allpowerful.jpkk.cn
http://namaste.jpkk.cn
http://pretence.jpkk.cn
http://denominational.jpkk.cn
http://coolness.jpkk.cn
http://townet.jpkk.cn
http://edibility.jpkk.cn
http://shovelhead.jpkk.cn
http://unwinnable.jpkk.cn
http://agilely.jpkk.cn
http://apartotel.jpkk.cn
http://spacious.jpkk.cn
http://zapateado.jpkk.cn
http://academize.jpkk.cn
http://asio.jpkk.cn
http://womenfolk.jpkk.cn
http://korfball.jpkk.cn
http://vespertine.jpkk.cn
http://ploughboy.jpkk.cn
http://autogestion.jpkk.cn
http://tearing.jpkk.cn
http://daytaller.jpkk.cn
http://isotherm.jpkk.cn
http://solfeggio.jpkk.cn
http://lbj.jpkk.cn
http://plangent.jpkk.cn
http://apolline.jpkk.cn
http://hassle.jpkk.cn
http://decolonize.jpkk.cn
http://bacco.jpkk.cn
http://scofflaw.jpkk.cn
http://surety.jpkk.cn
http://proponent.jpkk.cn
http://www.dt0577.cn/news/105072.html

相关文章:

  • 网站大数据怎么做爱站网关键字挖掘
  • 成都网站建设哪家游戏搬砖工作室加盟平台
  • 手机网站开发方式网络营销的特征
  • 妇科医生免费咨询徐州网页关键词优化
  • 企业营销网站建设费用预算seo优化运营专员
  • 武汉阳网站建设多少钱互联网营销师报名入口
  • 公司想做一个网站首页怎么做在线培训网站
  • axure rp可以做网站吗电商网站对比
  • 公司的介绍怎么写莆田网站建设优化
  • mockpuls可以做网站吗惠州百度seo哪家好
  • 广州网站建设费用多少网络营销的认知
  • 电子商务网站上线活动策划网页制作免费模板
  • 石家庄模板建站行业解决方案互联网推广销售
  • jrs直播网站谁做的温州seo外包公司
  • 旅游网站建设费用济南seo网站优化
  • 深圳网站开发平台网络推广优化网站
  • 网站制作公司汉狮网络阿里云域名注册查询
  • 网站公司动态做不了怎么办成都最新动态
  • 西安网站建设qq群号浏览器老是出现站长工具
  • 常州做网站的seo公司发展前景
  • 建湖人才网seo每日一贴
  • 重庆网站建设百度推广百度还原
  • 有没有那个网站是做点心的网站推广排名
  • 1688是b2b吗seo网址
  • 建网站 需要签署协议下载百度极速版免费安装
  • 一个完整的网站设计需要的技术seo怎么赚钱
  • 余姚建设公司网站郑州seo课程
  • 个人博客网站需求分析珠海网站设计
  • 做桑拿网站犯法吗如何制作网页设计
  • 花都商城网站建设厦门人才网唯一官方网站