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

怎么免费做网站百度收录平台

怎么免费做网站,百度收录平台,可以设计制作网页的软件,在家里怎样做网站问题描述 思路分析 这道题的核心任务是找出所有不超过给定价格 m 的菜肴中,最常见的菜肴价格,最后返回该价格的出现次数。 1. 题意理解: 给定一个最大价格 m,小C只会选择价格不超过 m 的菜。菜单上有 n 道菜,每道菜…

问题描述

在这里插入图片描述


思路分析

这道题的核心任务是找出所有不超过给定价格 m 的菜肴中,最常见的菜肴价格,最后返回该价格的出现次数。

1. 题意理解:

  • 给定一个最大价格 m,小C只会选择价格不超过 m 的菜。
  • 菜单上有 n 道菜,每道菜有一个价格,价格用数组 w 存储。
  • 需要找出价格不超过 m 的菜中,最多可以点多少道价格相同的菜。

2. 解题步骤:

  • 过滤价格:首先,我们要从价格数组中筛选出所有小于或等于 m 的价格,因为小C只会选择这些价格的菜。
  • 统计频率:然后,对这些符合条件的菜的价格进行统计,找出每个价格出现的次数。
  • 找出最大频率:最终,我们找出出现次数最多的价格,并返回这个最大次数。

3. 实现方法:

  • 遍历菜肴价格:我们需要遍历菜单上的每道菜,检查价格是否小于或等于 m。如果符合条件,就记录下它的频率。
  • 使用哈希表(HashMap):我们使用一个哈希表来存储价格和对应的频率。哈希表的键是价格,值是该价格出现的次数。
  • 找出最大值:遍历哈希表,找出出现次数最多的价格,最后返回该次数。

哈希表相关方法可见:一篇文章让你学会Java之哈希表操作


参考代码(Java)

import java.util.HashMap;public class Main {public static long solution(int m, int[] w) {// 用于存储价格 <= m 的频率HashMap<Integer, Integer> priceCount = new HashMap<>();// 统计价格 <= m 的频率for (int price : w) {if (price <= m) {priceCount.put(price, priceCount.getOrDefault(price, 0) + 1);}}// 找到最大频率int maxCount = 0;for (int count : priceCount.values()) {maxCount = Math.max(maxCount, count);}return maxCount;}public static void main(String[] args) {// 测试用例System.out.println(solution(6, new int[]{2, 3, 3, 6, 6, 6, 9, 9, 23}) == 3); System.out.println(solution(4, new int[]{1, 2, 4, 4, 4}) == 3); System.out.println(solution(5, new int[]{5, 5, 5, 5, 6, 7, 8}) == 4); }
}

代码分析

solution 方法:

这个方法的目的是根据给定的最大价格 m,在菜单价格数组 w 中找出价格不超过 m 的菜肴,统计每个价格的出现次数,然后返回出现次数最多的菜肴的价格出现次数。

  • 输入参数

    • m: 这是小C可以接受的最大价格。
    • w: 一个整数数组,代表餐馆菜单中每道菜的价格。
  • 返回值

    • 返回一个整数,表示价格最常出现的次数。
1. 创建 HashMap 记录频率:
HashMap<Integer, Integer> priceCount = new HashMap<>();
  • 使用 HashMap<Integer, Integer> 来存储每个价格及其出现的频率。键是菜品的价格,值是该价格出现的次数。
2. 遍历价格数组 w 并统计频率:
for (int price : w) {if (price <= m) {priceCount.put(price, priceCount.getOrDefault(price, 0) + 1);}
}
  • 遍历数组 w 中的每个价格 price,如果这个价格小于或等于 m(即符合小C的要求),就将其频率加 1。
  • priceCount.getOrDefault(price, 0) 表示如果 price 已经在 priceCount 中存在,则返回该价格的当前频率,否则返回默认值 0
  • 然后将该价格的频率更新为原来的频率加 1。
3. 找出最大频率:
int maxCount = 0;
for (int count : priceCount.values()) {maxCount = Math.max(maxCount, count);
}
  • 遍历 priceCount 中的所有频率值,找到其中最大的频率。
  • Math.max(maxCount, count) 用来更新 maxCount,保留最大频率。
4. 返回最大频率:
return maxCount;
  • 最后返回最大频率,即小C可以选择的最多价格相同的菜肴的数量。

总结:

  • HashMap 用于统计频率:通过遍历菜品价格并更新每个价格的出现次数,使用 getOrDefault 来确保价格不在 priceCount 中时,能够正确初始化为 0。
  • 最大频率的查找:通过遍历哈希表的所有值,找到最大的频率,最后返回。
  • 时间复杂度:遍历数组 w 和哈希表的操作,整体时间复杂度是 O(n),其中 n 是菜单价格的数量。
http://www.15wanjia.com/news/49632.html

相关文章:

  • 个人可做网站需要什么材料广州排名推广
  • 2345网址导航网址班级优化大师的功能有哪些
  • 做情色网站需要多少钱网页设计与制作代码成品
  • 免费做任务赚钱的网站有哪些保定百度推广联系电话
  • 网站文章优化怎么做大连百度网站排名优化
  • 装修公司怎么找客源最有效杭州seo哪家好
  • 做暖暖在线获取网站关键词怎么找出来
  • 济南做网站的网络公司百度竞价代运营
  • 怎么让网站绑定域名官方推广平台
  • php做图片交互网站代码一个新手怎么做电商
  • ps切图做网站手机系统优化工具
  • 棋牌网站制作价格磁力最好用的搜索引擎
  • 怎样建小型网站推广普通话图片
  • 深圳快速网站制作哪里好百度旧版本
  • 最好网站制作工具整站优化 快速排名
  • 用vs做的网站怎么打开吗直播营销的优势有哪些
  • 石家庄做外贸网站推广郑州seo优化阿亮
  • linux建立网站搜索大全浏览器
  • 京东优惠券网站怎么做网站优化排名软件
  • 网站推广要我营业执照复印件海南seo顾问服务
  • 企业网站建设免备案seo网络推广培训班
  • 专业建设网站制作网站运营培训
  • wordpress文章存在哪seo网站排名优化快速排
  • 前端开发培训班多少钱广州推广seo
  • 深圳做网站(官网)东莞服务好的营销型网站建设
  • 松江网站建设培训北京seo公司排名
  • 公司网站建设找谁百度公司
  • 深圳好点的网站建设公司百度手机助手下载苹果版
  • 信息技术制作网站地推一手项目平台
  • 哈尔滨企业建站服务商企业网站模板