当前位置: 首页 > 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);
			}
		}

	
	}

相关文章:

  • 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
  • 央行谈MLF:逐步退出政策利率属性回归流动性投放工具
  • 中消协点名新能源汽车行业:定金退款争议频发
  • 前瞻|美联储明晨“按兵不动”几无悬念:关税战阴霾下,会否释放降息信号
  • 自然资源部印发地理信息数据分类分级指南
  • 新华社:赵心童世锦赛夺冠,中国书写斯诺克运动新历史
  • 马克思主义理论研究教学名师系列访谈|王公龙:做好马克思主义研究,既要“钻进去”又要“跳出来”