最小操作次数问题

 

思路如下:
1.其他颜色变成红色球的情况:蓝色变红色需要2步 所以"2 绿色变红色需要1步 所以 + 绿色

2.其他颜色变成蓝色球的情况:绿色变蓝色需要2步 红色变蓝色需要1步

3.其他颜色变成绿色球的情况 红色变绿色需要2步 蓝色变绿色需要1步

 

代码如下:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
//c解法int fun(int a, int b, int c)
{if (a <= b && a <= c)return a;if (b <= a && b <= c)return b;if (c <= a && c <= b)return c;
}
int main(int argc, char* argv[])
{int n, a[10001]; int x = 0, y = 0, z = 0;scanf("%d", &n);int i;for (i = 0; i < n; i++){scanf("%d", &a[i]);if (a[i] == 0)x++;if (a[i] == 1)y++;if (a[i] == 2)z++;}int result = fun(2 * x + y, 2 * z + x, 2 * y + z);printf("%d", result);return 0;
}
//这段代码中的2* x + y, 2 * z + x, 2 * y + z是用于计算数组中0、1、2的个数的。
//
//- 2 * x + y:表示数组中0的数量乘以2,再加上1的数量。这是因为在这个问题中,我们假设每个0可以与一个1配对,每个1可以与一个0配对,所以0的数量乘以2就是可以形成的配对数量。然后再加上1的数量,就是可以形成的配对数量加上没有配对的1的数量。
//
//- 2 * z + x:表示数组中2的数量乘以2,再加上0的数量。这是因为在这个问题中,我们假设每个2可以与一个0配对,每个0可以与一个2配对,所以2的数量乘以2就是可以形成的配对数量。然后再加上0的数量,就是可以形成的配对数量加上没有配对的0的数量。
//
//- 2 * y + z:表示数组中1的数量乘以2,再加上2的数量。这是因为在这个问题中,我们假设每个1可以与一个2配对,每个2可以与一个1配对,所以1的数量乘以2就是可以形成的配对数量。然后再加上2的数量,就是可以形成的配对数量加上没有配对的2的数量。
//
//这个函数fun()的目的是找出这三个表达式中的最大值,也就是可以形成的最多的配对数量。//c++解法
#include <iostream>
using namespace std;int main() {int hash[3] = { 0 };int n = 0;cin >> n;for (int i = 0; i < n; i++) {int color = 0;cin >> color;hash[color]++;}// 其他颜色变成红色球的情况// 蓝色变红色需要2步 所以 * 2 绿色变红色需要1步 所以 + 绿色int red = 2 * hash[1] + hash[2];// 其他颜色变成蓝色球的情况// 绿色变蓝色需要2步 红色变蓝色需要1步int blue = hash[0] + hash[2] * 2;// 其他颜色变成绿色球的情况// 红色变绿色需要2步 蓝色变绿色需要1步int green = hash[1] + hash[0] * 2;cout << min(red, min(blue, green));return 0;
}

加油各位!!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pip 常用指令 pip config 命令用法介绍

&#x1f4d1;pip 常用命令归类整理 pip config 是一个用于管理本地和全局配置的命令行工具。它允许用户获取和设置所有的 pip 配置值。 命令 pip config 有以下参数 list&#xff1a;列出所有的 pip 配置值。edit&#xff1a;编辑 pip 配置文件。get&#xff1a;获取一个配…

实现linux与windows进行文件共享

目录 一.展现形式 二.场景需求 三.具体操作 1.windows访问sumba 2.Linux访问sumba 一.展现形式 支持以文件夹的形式可视化操作文件 二.场景需求 1.有一台Linux物理机 2.有一台window物理机 3.Linux已配置好sumba服务器 三.具体操作 1.windows访问sumba 首先按下winR…

Ubuntu 常用命令之 cal 命令用法介绍

&#x1f4d1;Linux/Ubuntu 常用命令归类整理 cal命令在Ubuntu系统下用于显示日历。它可以显示任何特定月份或整个年份的日历。 cal命令的参数如下 -1&#xff1a;只显示当前月份的日历。-3&#xff1a;显示前一个月、当前月和下一个月的日历。-s&#xff1a;指定日历的开始…

音视频直播核心技术

直播流程 采集&#xff1a; 是视频直播开始的第一个环节&#xff0c;用户可以通过不同的终端采集视频&#xff0c;比如 iOS、Android、Mac、Windows 等。 前处理&#xff1a;主要就是美颜美型技术&#xff0c;以及还有加水印、模糊、去噪、滤镜等图像处理技术等等。 编码&#…

别再犹豫!一键下载安装Substance3D,在数字世界中创造引人注目的艺术品!

不要再在网上浪费时间寻找Substance3D的安装包了&#xff0c;一键下载安装&#xff0c;你要的一切都可以在这里找到&#xff01; 对于那些热衷于数字艺术和建模的人来说&#xff0c;Substance3D是一个不可或缺的工具。然而&#xff0c;在网上寻找合法且可靠的软件安装包却常常…

DAY5网络

1.用select实现TCP客户端程序 #include <head.h> #define PORT 9999 // 服务器端口号 #define IP "192.168.125.74" // 服务器IP地址#define CIP "192.168.125.74" // 客户端 #define CPORT 6666int main(int argc, const char* argv[]) {// 创建套…

2023 英特尔On技术创新大会直播让我感受到英特尔AI的强大

一、2023 英特尔On技术创新大会简单回顾 直播地址&#xff1a;英特尔On技术创新大会 (intel.cn) 英特尔明确表示其“四年五个制程节点”计划正在稳步推进当中&#xff0c;并展示了其首个基于通用芯粒高速互连开放规范(UCIe)的多芯粒封装。 英特尔公布了下一代英特尔至强可扩…

大数据---34.HBase数据结构

一、HBase简介 HBase是一个开源的、分布式的、版本化的NoSQL数据库&#xff08;即非关系型数据库&#xff09;&#xff0c;依托Hadoop分布式文件系统HDFS提供分布式数据存储&#xff0c;利用MapReduce来处理海量数据&#xff0c;用Zookeeper作为其分布式协同服务&#xff0c;一…

html之如何设置音频和视频

文章目录 前言一、音频标签&#xff1a;audio1.audio简介2.常用属性controlsautoplayloop代码演示&#xff1a; 二、视频标签&#xff1a;video1.video2.常用的视频元素controlsautoplayloop代码演示&#xff1a; 总结视频元素总结音频元素总结 前言 html中插入音频和视频的方…

【算法设计与分析】——动态规划算法

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

​TrustZone之可信固件

Trusted Firmware是Armv8-A设备的安全世界软件的开源参考实现。Trusted Firmware为SoC开发人员和OEM提供了一个符合相关Arm规格&#xff08;包括TBBR和SMCC&#xff09;的参考Trusted代码库。 以下图表显示了Trusted Firmware的结构&#xff1a; SMC调度程序处理传入的SMC。SMC…

flink sql1.18.0连接SASL_PLAINTEXT认证的kafka3.3.1

阅读此文默认读者对docker、docker-compose有一定了解。 环境 docker-compose运行了一个jobmanager、一个taskmanager和一个sql-client。 如下&#xff1a; version: "2.2" services:jobmanager:image: flink:1.18.0-scala_2.12container_name: jobmanagerports:…