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

营销crmwin7优化软件

营销crm,win7优化软件,网站建设教程浩森宇特,wordpress水墨cms主题1. 华为OD机考题 答案 2023华为OD统一考试(AB卷)题库清单-带答案(持续更新) 2023年华为OD真题机考题库大全-带答案(持续更新) 2. 面试题 一手真实java面试题:2023年各大公司java面试真题汇总--…

1. 华为OD机考题 + 答案

2023华为OD统一考试(A+B卷)题库清单-带答案(持续更新)

2023年华为OD真题机考题库大全-带答案(持续更新)

2. 面试题

一手真实java面试题:2023年各大公司java面试真题汇总--持续更新

3. 技术知识

java后端技术汇总 + 中间件 + 架构思想

题目描述:

公司分月饼,m个员工,买了n个月饼,m <= n,每个员工至少分一个月饼,但是也可以分到多个,单人分到最多月饼的个数是Max1,单人分到第二多月饼个数是Max2。

但需要满足Max1-Max2 <= 3,单人分到第n-1多月饼个数是Max(n-1),单人分到第n多月饼个数是Max(n), 想要满足Max(n-1) - Max(n) <= 3,问有多少种分月饼的方法?

输入描述:

每一行输入m,n,表示m个员工,n个月饼,m <=n

输出描述:

输出有多少种分法

示例1:

输入

2 4

输出

2

说明

4=1+3

4=2+2

注意:1+3和3+1要算成同一种分法

示例2:

输入

3 5

输出

2

说明

5=1+1+3

5=1+2+3

示例3:

输入

3 12

输出

6

说明

满足要求的6种分法:

1、12 = 1 + 1 + 10 (Max1=10, Max2=1,不满足Max1-Max2 <= 3的约束)

2、12 = 1 + 2 + 9 (Max1=9,Max2=2,不满足Max1-Max2 <= 3的约束)

3、12 = 1 + 3 + 8 (Max1=8,Max2=3,不满足Max1-Max2 <= 3的约束)

4、12 = 1 + 4 + 7 (Max1=7,Max2=4,Max3=1, 满足要求)

5、12 = 1 + 5 + 6 (Max1=6,Max2=5,Max3=1, 不满足要求)

6、12 = 2 + 2 + 8 (Max1=8,Max2=2,不满足要求)

7、12 = 2 + 3 + 7 (Max1=7,Max2=3,不满足要求)

8、12 = 2 + 4 + 6 (Max1=6,Max2=4,Max3=2, 满足要求)

9、12 = 2 + 5 + 5 (Max1=5,Max2=2 满足要求)

10、12 = 3 + 3 + 6 (Max1=6,Max2=3 满足要求)

11、12 = 3 + 4 + 5 (Max1=5,Max2=4,Max3=3 满足要求)

12 = 4 + 4 + 4 (Max1=4,满足要求)

public class DivideMooncake {
//非最优解,需要考虑减枝,减少遍历次数。public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int [] num = Arrays.stream(scanner.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();//分配人数int peoples = num[0];//待分配数量int dnum = num[1] - num[0];//重新分配后每个人月饼数量int [] nums = new int[peoples];// 用一个List来存储所有分配方案List<List<Integer>> result = new ArrayList<>();divide(dnum,peoples,nums,result);List<List<Integer>>filteredResult = removeDuplicate(result);//System.out.println(filteredResult);System.out.println(filteredResult.size());}public static void divide(int num,int peolpe, int [] nums,List<List<Integer>> result){if (peolpe == 1){nums[0] = num;List<Integer> allocation = new ArrayList<>();for (int i : nums){allocation.add(i);}result.add(allocation);return;}for (int i = 0; i <= num ; i++){//要分配的月饼nums[peolpe - 1] = i;//递归调用,将要分配的月饼分配给其它人divide(num - i,peolpe -1,nums,result);}}/*** 判断是否满足条件  Max(n) - Max(n-1) >= 3* @param nums* @return*/public static Boolean satisfy(List<Integer> nums){int i = nums.size() -1;while (i >= 1){if (nums.get(i) - nums.get(i - 1) > 3){return false;}i--;}return true;}/*** 分数一致的去重* @param result* @return*/public static List<List<Integer>> removeDuplicate(List<List<Integer>> result) {List<List<Integer>> filteredResult = new ArrayList<>();for (List<Integer> allocation : result) {boolean duplicate = false;allocation.sort(Integer::compareTo); // 对分配方案进行排序for (List<Integer> existingAllocation : filteredResult) {existingAllocation.sort(Integer::compareTo); // 对已有的分配方案进行排序if (Arrays.equals(existingAllocation.toArray(), allocation.toArray())) {duplicate = true; // 分配方案重复break;}}if (!duplicate) {if (satisfy(allocation)){filteredResult.add(allocation);}}}return filteredResult;}}

http://www.hrbkazy.com/news/49368.html

相关文章:

  • 电商 网站 备案免费注册个人网站
  • 用云怎么做网站百度推广售后服务电话
  • 手机网站空间专业软文发布平台
  • 太原建站公司点击查看品牌推广方案包括哪些
  • 建站技术博客违禁网站用什么浏览器
  • 网站运营维护中需要用到什么服务器网站首页制作网站
  • 网站建设福州最好网络技术培训
  • 现在做电商还能赚钱吗优化是什么梗
  • 外贸公司网站建设 重点是什么重庆seo网络营销
  • 网站设计banner尺寸微信广告推广价格表
  • 网站的 联系我们怎么做武汉百度推广优化
  • 做公众号还是网站百度旅游官网
  • 做ppt接单的网站公众号推广渠道
  • 我在相亲网站做红娘的推广网站平台
  • 顺德企业网站建设重庆人力资源和社会保障网
  • 海淘手表网站做销售怎样去寻找客户
  • 淘宝店铺如何和别的网站做链接经典广告
  • 做的非常好的网站案例2024很有可能再次封城吗
  • 海口网站开发建设搜索推广广告
  • 网站上内容列表怎么做的收录优美图片
  • 食品网站的网页设计佛山网络营销推广
  • wordpress 接入外网就快西安网站建设优化
  • 关键词优化除了做网站还有什么方法宁波网站seo公司
  • jsp如何做动态网站360信息流广告平台
  • 东莞市建设管理局网站seo报价
  • 专业建站源码百度百科词条入口
  • 网站主题网地推拉新app推广怎么做
  • 建站系统搭建音乐网站网站怎么快速被百度收录
  • 邢台企业网站建设好么怎么开网店
  • 呼家楼街道网站建设静态网页设计与制作