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

蓝桥杯第九天 2022 省赛 第 4 题 最少刷题数

太多坑了,考虑不全只能过50%,有两种特殊情况 

	public static void main(String[]args) {

		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		int a[] = new int [100005];
		int b[] = new int [100005];
		for(int i =0;i<n;i++)
			a[i] = scan.nextInt();
		for(int i =0;i<n;i++)
			b[i] = a[i];
	Arrays.sort(a,0,n);
	int mid = a[n/2];
	int count = 0,count1 =0;
	for(int i =0;i<n;i++) {
		if(mid>a[i])
		{
			count1++;
		}
		else if(mid<a[i])
			count++;
	}
	int index  = 0;
	if(count>count1)//如果比中位数大的数比较多
		index = 1;//标记一下
	else if(count1>count)//比中位数小的数比较多
		index = 2;//标记一下
	
		for(int i =0;i<n;i++)
		{
			if(i<n-1) {
			if(b[i]<mid&&index!=2)//这种情况一般适用于没有重复mid数的情况
				//比如 12 10 15 20 6
				  System.out.print(mid-b[i]+1+" ");
			else if(b[i]<mid&&index==2) {
				// 这种情况,0 不需要改成3 ,改成2就行了,自然不需要加1
				//2 2 1 1 1 1 1 0 0 0

				 System.out.print(mid-b[i]+" ");		     	 
			}
			else if(b[i]==mid&&index==1)
				//这种情况,也就是比mid大的数多余小的数(只有在一种情况下发生:mid重复),所有mid如果扫描到都需要+1
				//0 0 1 1 1 1 1 2 2 2
				System.out.print(1+" ");
			else
				System.out.print(0+" ");
			}	
			//下面这个就是避免加空格,不是重点
			else {
				if(b[i]<mid&&index!=2)
					  System.out.print(mid-b[i]+1);
				else if(b[i]<mid&&index==2) {
					 System.out.print(mid-b[i]);		     	 
				}
				else if(b[i]==mid&&index==1)
					System.out.print(1);
				else
					System.out.print(0);
			}
		}

	
	}

http://www.dtcms.com/a/77849.html

相关文章:

  • QtCreator16创建WebAssembly工程在浏览器中显示图片
  • MSys2统一开发环境,快速搭建windows opencv环境
  • 【Embedded World 2025:边缘 AI、存储革新与 1X nm 工艺重塑嵌入式未来】
  • AI大模型:(一)1.大模型的发展与局限
  • 学习threejs,构建THREE.ParametricGeometry参数化函数生成几何体
  • 逆向中常见的加密算法识别
  • Flutter 打包 ipa出现错误问题 exportArchive
  • 小红书不绑定手机号会显示ip吗
  • 实验11 机器学习-贝叶斯分类器
  • 【NCRE】2025计算机一级选择题真题题库(476道题目含答案(476/476))
  • 正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-6.2uboot启动流程-lowlevel_init,s_init,_main函数执行
  • Docker安装,并pullMySQL和redis
  • 鸿蒙NEXT项目实战-百得知识库05
  • python字符级差异分析并生成 Word 报告 自然语言处理断句
  • Unity Shader Graph高级节点逻辑设计:程序化噪声生成技术详解
  • Linux 终端操作核心组合键
  • 力扣100二刷——图论、回溯
  • SAP-ABAP:SAP采购业务核心表关联关系详解
  • C#的List和DIctionary实现原理(手搓泛型类以及增删查改等功能)
  • 力扣最热一百题——跳跃游戏II
  • 诺视Micro-LED微显示芯片量产线投产 ——开启微显示技术新时代
  • 【cf】交换
  • 智能跳低成本otp语音芯片方案-wt6020 语音计数时间提示:“100次”“运动时间5分钟
  • 什么是大数据风控
  • 以光盘读写系统演示面向对象设计的原则与方法
  • 基于python的Flask模块化设计与蓝图的妙用——打造轻量化Web应用
  • VSCode扩展工具Copilot MCP使用教程【MCP】
  • Springboot实战篇(1):项目概述及环境搭建
  • Vmware中的centos7连接上网
  • 递归、搜索与回溯第三讲:综合练习