蓝桥杯刷题第六天(昨天忘记发了)

news2024/11/25 14:24:31

今天想从不一样的角度来解题:从时间紧张暴力求解到思路阔达直接通过所有案例

暴力方法:

         思路第一眼看到这个问题我就想到了第一个思路就是先用两个数组一个存石子数一个存颜色状态,每次遍历一遍看看有没有相邻石子颜色一样且为和最小的。

import java.util.*;
public class Main {
     public static void main(String []args) {
    	 Scanner a = new Scanner(System.in);
    	 int n = a.nextInt();
    	 int []b=new int [n];
    	 int []c=new int [n];
    	 for(int i = 0;i<n;i++) {
    		 b[i]=a.nextInt();
    	 }
    	 for(int i = 0;i<n;i++) {
    		 c[i]=a.nextInt();
    	 }
    	 boolean flag = true;
    	 int sum = 0;
    	 
    	 while(flag) {
    		 //
    		 boolean flag1 = false;
    		 int min =Integer.MAX_VALUE;
    		 int mj = n-1;
    		 
    		 for(int i =0;i<n-1;i++) {
    			 
    			 if(c[i]==c[i+1]){
    				 if(min>(b[i]+b[i+1])) {
    					 min=b[i]+b[i+1];
        				 mj=i;
        				 flag1=true;
    				 }
    			 }
    		 }
    		 //System.out.println("最小坐标:"+mj);
    		 if(flag1) {
    			 sum= sum+min;
    		 }
    		 if(mj==n-1) {
    			 System.out.println(n+" "+sum);
    			 break;
    		 }
    		 else if((c[mj]+1)>2) {
    			 c[mj]=0;
    			 //System.out.println("变0");
    		 }
    		 
    		 else c[mj]=c[mj]+1;
//    		 for(int i = 0;i<n;i++) {
//    			 System.out.print(c[i]+",");
//    		 }
//    		 System.out.println();
    		 for(int i=0;i<n-1;i++) {
    			 if(i==mj) {
    				 b[i]=min;
    				 
    			 }
    			 else if(i>mj) {
    				 b[i]=b[i+1];
    				 c[i]=c[i+1];
    			 }
    		 }
    		 n--;
    	 }
     }
}

案例通过一部分,有问题的点在于有可能并不能合成数量最小的堆,比如:

5

5 10 1 8 6

0 0 0 2 2

按理来说

可以

0 0 0 0

1 1

2

合成一堆的

按这个算法只能

0 1 2 2

0 1 0

只能三堆了。

明天得再思考思考

易错点:

1.比较左右两边时(冒泡是一个例子)从头遍历到尾是会越界的,要注意这个可能的情况(一开始找半天,因为最后一个数不能和右边的比较了,右边没数了)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1563566.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何整合当地商家资源?如何进行二次变现?

随着市场竞争的日益激烈&#xff0c;商家们纷纷寻求创新的营销方式来扩大市场份额、提升品牌影响力。异业联盟作为一种新型的商业合作模式&#xff0c;正逐渐受到业界的关注和认可。本文将探讨异业联盟的可行性&#xff0c;并分析其是否可以通过小程序形式实现更广泛的应用。 一…

zip解压异常java.lang.IllegalArgumentException: MALFORMED处理

使用hutool解压zip包时出错&#xff1a; //压缩包解压到固定目录 ZipUtil.unzip(tempZipFile,dir);在解压文件的时候报错&#xff0c;原因是压缩文件中有中文&#xff1b;导致错误&#xff0c;解决办法是设置编码&#xff1a; ZipFile tempZipFile new ZipFile(zipFile, Cha…

h5 笔记1

Internet是InternationalNetwork的缩写&#xff0c;又称“因特网”。它是将全世界数以千计的上网设备通过TCP/IP通信协议连接在一起。Internet上的服务众多&#xff0c;主要的服务有WWW(万维网)、E-Mail(电子邮件)、FTP(FileTransferProtocol&#xff0c;文件传输协议)、Telnet…

Ps:颜色查找

颜色查找 Color Lookup命令通过应用预设的 LUT 来改变图像的色彩和调性&#xff0c;从而为摄影师和设计师提供了一种快速实现复杂色彩调整的方法&#xff0c;广泛应用于颜色分级、视觉风格的统一和创意色彩效果的制作。 Ps菜单&#xff1a;图像/调整/颜色查找 Adjustments/Colo…

微信小程序-文字转语音(播放及暂停)

1、使用微信小程序的同声传译功能 小程序平台-设置-第三方设置-插件管理-新增同声传译插件 小程序app.json文件配置 "plugins": {"WechatSI": {"version": "0.3.5","provider": "wx069ba97219f66d99"}},小程序中…

python生物信息多组学大数据深度挖掘与论文整理技巧技术应用

生物信息广泛涵盖基因组学、蛋白组学、系统生物学、表观遗传、非编码等前沿领域以及药物设 计、基因工程等应用领域。与传统的理论和实验学科不同&#xff0c;生物信息是一门数据科学&#xff0c;这就需要从业 者具备一定数据收集、管理、处理和分析的能力。在海量的组学数据面…

一文搞懂:Java项目线上故障处理和调优的基本方法

一. 调优和故障处理的方向 Java调优通常指的是对Java应用程序进行性能优化和资源管理的过程。调优的方向很多也很广&#xff0c;比如&#xff1a; 内存管理&#xff1a;优化Java应用程序的内存使用&#xff0c;包括减少内存泄漏、合理设置堆大小、优化垃圾收集器的选择和参数…

PyQt qrc2py 使用PowerShell将qrc文件转为py文件并且将导入模块PyQt或PySide转换为qtpy模块开箱即用

前言 由于需要使用不同的qt环境&#xff08;PySide&#xff0c;PyQt&#xff09;所以写了这个脚本&#xff0c;使用找到的随便一个rcc命令去转换qrc文件&#xff0c;然后将导入模块换成qtpy这个通用库(支持pyside2-6&#xff0c;pyqt5-6)&#xff0c;老版本的是Qt.py(支持pysi…

力扣Lc26--- 1108. IP 地址无效化(java版)-2024年4月02日

1.题目描述 2.知识点 注1&#xff1a;首先&#xff0c;在Java中&#xff0c;字符类型应该使用单引号’&#xff0c;而不是双引号"。其次&#xff0c;修改字符数组中的元素应该使用单引号。 注2&#xff1a;String类的replace方法用于在字符串中替换指定的字符或字符序列。…

OpenHarmony实战:RK3568 开发板镜像烧录指南

前言 烧录开发板是每个开发者的必修课&#xff0c;每次对系统的修改务必进行烧录测试&#xff0c;确保修改正确和不会引入新问题。 本文基于 Windows10&#xff0c;以 RK3568 开发板为例&#xff0c;指导如何烧录 OpenHarmony 镜像&#xff0c;镜像也叫固件。Hihoop&#xff…

芒果YOLOv5改进89:卷积SPConv篇,即插即用,去除特征图中的冗余,FLOPs 和参数急剧下降,提升小目标检测

芒果专栏 基于 SPConv 的改进结构,改进源码教程 | 详情如下🥇 👉1. SPConv 结构、👉2. CfSPConv 结构 💡本博客 改进源代码改进 适用于 YOLOv5 按步骤操作运行改进后的代码即可 即插即用 结构。博客 包括改进所需的 核心结构代码 文件 YOLOv5改进专栏完整目录链接:…

day10 类的构造器 权限修饰符

目录 构造器 类的成员之构造器 调用其他构造器 idea构造器创建快捷方式 权限修饰符 构造器 类的成员之构造器 类的成员-属性 &#xff1a;用来对对象进行说明&#xff08;保存对象的状态&#xff09; 类的成员-方法 &#xff1a;用来实现具体的功能 类的成员-构造器 &…

Docker部署Nexus Maven私服并且实现远程访问Nexus界面

目录 ⛳️推荐 1. Docker安装Nexus 2. 本地访问Nexus 3. Linux安装Cpolar 4. 配置Nexus界面公网地址 5. 远程访问 Nexus界面 6. 固定Nexus公网地址 7. 固定地址访问Nexus ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&am…

毕马威:《智慧之眼:开启汽车感知新时代》

在全球科技飞速发展和产业革新的大潮中&#xff0c;汽车产业正在以前所未有的速度向网联化、智能化的方向转型。汽车传感器作为智能联网汽车发展的关键环节之一&#xff0c;扮演着举足轻重的角色。 毕马威一直关注汽车产业的变化与发展&#xff0c;为了更好地为汽车行业赋能&a…

基于vue实现动态table

1、代码 <div style"height: 600px; overflow: scroll;"> <!-- height: 600px; overflow: scroll;作用是超出页面可以滑动 --><div ng-repeat"row in entity.procedureList"><cb-title title"工序{{row.procedireLocation}}&quo…

空窗期并非求职大忌!测试人这么回答轻松拿到offer!

为啥今天想起这个话题呢&#xff0c;因为我之前有过这样的经历&#xff0c;且身边的小伙伴也频频遇到面试官来这么个灵魂拷问&#xff0c;所以觉得这点其实还挺重要的&#xff0c;特来分享一下我的应对之策。 既然问题出来了&#xff0c;我们就要弄懂它的来龙去脉&#xff0c;…

[mmu/cache]-ARM MMU的学习笔记-一篇就够了

快速链接: 【精选】ARMv8/ARMv9架构入门到精通-[目录] &#x1f448;&#x1f448;&#x1f448; ARMV8-aarch64的MMU 1、MMU概念介绍 MMU分为两个部分: TLB maintenance 和 address translation MMU的作用&#xff0c;主要是完成地址的翻译&#xff0c;无论是main-memory地…

Node.js-知识点学习总结归纳

Node.js-知识点学习总结归纳 安装nodenode运行方式通过Node.js直接运行js文件&#xff08;也就不用通过网页html了&#xff09;绝对路径调用:相对路径调用&#xff1a;直接运行js命令&#xff1a; Vscode控制台使用node运行js文件 安装node 这个就不用讲了吧&#xff0c;网上搜…

mac mini m1芯片 Xcode 15.3 各种报错的问题

错误一&#xff1a; /Users/mac/Desktop/Test_project/mobile-ios/Test/Test-Bridging-Header.h:4:9 failed to emit precompiled header /Users/mac/Library/Developer/Xcode/DerivedData/App-apvcgkuclncgfqdlzqcoffyaexos/Build/Intermediates.noindex/PrecompiledHeaders/…

[Linux]基础IO(上)--理解文件系统调用、文件描述符、万物皆文件

一、文件的理解 每种语言都有进行文件操作的函数接口&#xff0c;例如C语言的fopen、fwrite、fprintf等等&#xff0c;但是进行文件操作的前提是代码已经跑起来&#xff0c;因为文件的打开与关闭要通过CPU来运行程序代码&#xff0c;所以打开文件的本质是进程打开文件&#xff…