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

营销网站制作免费咨询网站模板库

营销网站制作免费咨询,网站模板库,网站建设书籍推荐,自己制作二维码的软件题目:小蓝老师教的编程课有 N 名学生, 编号依次是 1…N。第 i 号学生这学期 刷题的数量是 Ai​ 。 对于每一名学生, 请你计算他至少还要再刷多少道题, 才能使得全班刷题 比他多的学生数不超过刷题比他少的学生数。 输入格式 第一行包含一个正整数 N 。 第二行包…

题目:小蓝老师教的编程课有 N 名学生, 编号依次是 1…N。第 i 号学生这学期 刷题的数量是 Ai​ 。

对于每一名学生, 请你计算他至少还要再刷多少道题, 才能使得全班刷题 比他多的学生数不超过刷题比他少的学生数。

输入格式

第一行包含一个正整数 N 。

第二行包含 N个整数: A1,A2,A3,…,AN​.

输出格式

输出 N 个整数, 依次表示第 1…N 号学生分别至少还要再刷多少道题。

样例输入

5
12 10 15 20 6

样例输出

0 3 0 0 7

解题思路+代码:(二分法思路)引用题解区通过全部用例(作者:秋叶  解题思路:先排序,再基于中值两侧元素数量的比较进行输出)

代码:

import java.util.Scanner;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Arrays;public class Main {static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));static PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));public static void main(String[] args) throws IOException{int n = Integer.parseInt(br.readLine());String[] str = br.readLine().split(" ");// 转为整型数组int[] nums = new int[n];for(int i=0; i<n; i++) {nums[i] = Integer.valueOf(str[i]);}// 对数组进行排序int[] arr = nums.clone();Arrays.sort(arr);// 得到中值int mid = arr[n/2];// 计算小于或大于中值的元素个数int less = 0;int more = 0;for (int i=0; i<n; i++) {if (nums[i] < mid)    ++ less;else if(nums[i] > mid) ++ more;}// 进行判断,输出结果for(int i=0; i<n; i++) {if(nums[i] > mid)System.out.print("0 ");else if(nums[i] == mid && less >= more)System.out.print("0 ");else if(nums[i] == mid && less < more)System.out.print("1 ");else if(nums[i] < mid && less > more)System.out.print(mid-nums[i] + " ");else if(nums[i] < mid && less <= more)System.out.print(mid-nums[i]+1 + " ");}}
}

解题思路+代码:(暴力枚举+avg)(个人思路  通过30%用例) 

 

代码:

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt();int[] num = new int[n+2]; //防止数组下标越界for(int i = 1; i<=n; i++) num[i] = scan.nextInt(); //存放n名学生的刷题数量double sum = 0;//n名学生刷题的总数量int avg = 0; //n名学生刷题的平均数量int task = 0; //需要再刷的题量for(int i = 1; i<=n; i++){sum += num[i]; //63}avg = (int)(Math.ceil(sum / (double) n)); //平均数向上取整 avg = 13for (int i = 1; i <= n; i++) {// 计算每个学生需要再刷的题量int countMore = 0; // 比自己刷题量多的人数int countLess = 0; // 比自己刷题量少的人数for (int j = 1; j <= n; j++) {if (num[i] < num[j]) {countMore++;} else if (num[i] > num[j]) {countLess++;}}if (countMore > countLess) {task = avg - num[i];} else if (countMore <= countLess) {task = 0;}System.out.print(task > 0 ? task + " " : 0 + " ");}scan.close();}
}

总结: 路漫漫其修远兮,吾将上下而求索,接下来也会更多地去考虑题目中的一些逻辑和细节方面的问题。

http://www.dtcms.com/wzjs/136096.html

相关文章:

  • 做像淘宝网的网站sem是什么缩写
  • 台州seo网站推广seo网站诊断流程
  • 17做网站广州新塘蒙牛牛奶推广软文
  • 云南定制化网站建设怎么引流推广
  • 南昌网站设计特色如何seo推广
  • 龙华营销型网站制作企业网站定制
  • 便宜的做网站武汉网络推广网络营销
  • 支付通道网站怎么做百度官网app下载安装
  • php做网站还是linux武汉软件测试培训机构排名
  • 知名品牌形象设计公司百度刷seo关键词排名
  • 施工企业管理协会湖南企业seo优化首选
  • 网站建设前手机优化软件下载
  • 北京市建设工程交易服务中心网站百度网站检测
  • 百度收录方法武汉seo排名扣费
  • 一般的网站是由什么语言做的销售网络平台
  • html5经管网站模板宁波正规seo快速排名公司
  • 昆明做网站费用百度小说官网
  • 网站首页设计报告成都企业seo
  • 网址大全汽车之家官方网seo推广需要多少钱
  • 哪些公司做网站开发百度关键词挖掘
  • 哪个网站做视频赚钱杭州最好的电商培训机构
  • 武汉专业手机网站建设网络营销工具包括
  • 电子商务网站建设期末考试网站怎么快速收录
  • 网站建设教程pptseo站长网
  • 网站建设开发文档活动推广
  • 丹徒区建设局网站网络推广员
  • pc网站开发语言市场调研报告
  • 丽水微信网站建设报价新闻头条最新消息今日头条
  • 公司漏沟设计logo免费旺道seo优化软件
  • 网站的总规划书sem营销推广