翻硬币游戏的解

题目背景

小明正在玩一个“翻硬币”的游戏。

题目描述

桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零),比如可能情形是 **oo***oooo,如果同时翻转左边的两个硬币,则变为 oooo***oooo。现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?

输入格式

两行等长字符串,分别表示初始状态和要达到的目标状态,每行长度小于 10001000。

数据保证一定存在至少一种方案可以从初始状态和要达到的目标状态。

输出格式

一个整数,表示最小操作步数。

输入输出样例

输入 #1复制

**********
o****o****

输出 #1复制

5

输入 #2复制

*o**o***o***
*o***o**o***

输出 #2复制

1

需要明确的一个事实就是只用按顺序遍历,并且左右都一样(只和最远的两个不同点所在的区间有关)。

import java.util.Scanner;public class Main {public static void main(String args[]) {String x,y;int num = 0;char a[] = new char[1000];char b[] = new char[1000];try (Scanner sc = new Scanner(System.in)) {x = sc.nextLine();y = sc.nextLine();}for(int i =0; i<x.length();i++) {a[i] = x.charAt(i);b[i] = y.charAt(i);}for(int i =0; i<x.length();i++) {if(a[i] == b[i]) {continue;}else {a[i+1] =(a[i+1]=='*' ?'o':'*') ;num++;}}System.out.println(num);
}
}

在这个代码里面

a[i+1] =(a[i+1]=='*' ?'o':'*') ;

整一个被依据条件赋予了'o'或者'?'。并且要比下面这个情况(我写的)好多了:

package 练习; import java.util.; public class 第一次 
{ public static void main(String[] args) {Scanner scan = new Scanner(System.in); 
StringBuilder str1 = new StringBuilder();StringBuilder str2 = new StringBuilder(); 
int m; for(int i = 1 ; i <= 1000; i++) {if(str1.charAt(i) != str2.charAt(i)) {if(str1.charAt(i) = '') str1.insert(i,'o');else str1.insert(i,'*');if(i < 1000 && str1.charAt(i + 1) == '*')str1.insert(i,'o');elsestr1.insert(i,'*');m++;i++;}} } 
} 

一句顶我好几句。

由此可见这种根据条件选择的非此即彼的判断选择要用a > b ? x:y;这样的三元语句。

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

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

相关文章

如何安装Jenkins指定版本

环境&#xff1a;centos 注意&#xff1a;jenkins对centos的支持只到2024.9 一、安装java 推荐安装java 11&#xff0c; 但是jenkins现在已经支持到java 17了。 yum install java-11-openjdk 二、安装jenkins wget https://pkg.jenkins.io/redhat-stable/jenkins.repo -O …

uni-app纵向步骤条

分享一下项目中自封装的步骤条&#xff0c;存个档~ 1. 话不多说&#xff0c;先看效果 2. 话还不多说&#xff0c;上代码 <template><!-- 获取一个数组&#xff0c;结构为[{nodeName:"流程发起"isAudit:falsetime:"2024-02-04 14:27:35"otherDat…

好用的GPTs:指定主题搜索、爬虫、数据清洗、数据分析自动化

好用的GPTs&#xff1a;指定主题搜索、爬虫、数据清洗、数据分析自动化 Scholar&#xff1a;搜索 YOLO小目标医学方面最新论文Scraper&#xff1a;爬虫自动化数据清洗数据分析 点击 Explore GPTs&#xff1a; Scholar&#xff1a;搜索 YOLO小目标医学方面最新论文 搜索 Scho…

BI让数据分析不在困难,分解企业数据分析流程

一、数据培养 数据分析最关键的是什么&#xff1f;其实从名字上就可以看出来&#xff0c;数据是一切的关键&#xff0c;没有数据的话数据分析从何谈起呢。但数据的积累不是一天两天就能成功的&#xff0c;企业的一定要有培养数据的意识&#xff0c;在业务活动中沉淀数据&#…

Android获取应用/系统常用参数

Build参数一览 Build: 获取当前构建中的系统信息 * MODEL&#xff1a; DesaySV* BOARD&#xff1a; g7ph* BRAND&#xff1a; DesaySV* DEVICE&#xff1a; msmnile_gvmq* DISPLAY&#xff1a; G7PH_T26_PHEV_SOP_03_3993_240229_T* PRODUCT&#xff1a; g7ph_t18…

学习笔记Day13:Linux进阶

Linux进阶 Vim——Linux自带的文本编辑器 功能强大 命令模式 使用 vim <file>进入后的默认模式可以上下左右移动光标 方向键/hjkl快速到所在行的开头^/末尾$向下移动30行30j&#xff08;上左右同&#xff09;上下翻页Ctrlf向上&#xff0c;Ctrlb向下翻页快速回到文件第…

基于SpringBoot+Layui的社区物业管理系统

项目介绍 社区物业管理系统是基于java程序开发,本系统分为业主和管理员两个角色 业主可以登陆系统,查看车位费用信息,查看物业费用信息,在线投诉,查看投诉,在线报修; 管理员可以车位收费信息,物业收费信息,投诉信息,楼宇信息,房屋信息,业主信息,车位信息,抄表信…

刚进公司第一天-电脑环境搭建

写在前面 之前在公司做过一次开发小工具的分享&#xff0c;这两天有个同事找我学习一些小工具开发的知识&#xff0c;但是我发现他的基础是真的差&#xff0c;想学开发知识却连自己本地电脑环境都没弄好&#xff0c;确实&#xff0c;有些人工作了很久&#xff0c;由于自己工作中…

Qt访问odbc(access)遇到的问题

背景&#xff1a; 我做了一个简单的库&#xff0c;负责与数据库交互&#xff0c;希望能兼容数据库类型多一些。偶然想试试access&#xff0c;结果调试出错了。特此记录下来。 原因&#xff1a; windows中的odbc中&#xff0c;预制了很多基础的数据库驱动&#xff0c;这在200…

工控机在机器人领域的应用丨工业一体机的应用

随着机器人技术的不断发展&#xff0c;机器人在制造、物流等领域得到了广泛应用。而工业控制计算机&#xff08;工控机&#xff09;作为机器人控制系统的核心设备&#xff0c;也在机器人领域发挥着越来越重要的作用。 机器人控制系统是机器人的核心部分&#xff0c;控制系统的…

综合知识篇15-开发管理考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html案例分析篇00-【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例…

仅用一个月,游卡完成从MySQL到上线OceanBase的实践

编者按&#xff1a;自2023年9月起&#xff0c;游卡——国内最早卡牌游戏研发者之一&#xff0c;开始测试OceanBase&#xff0c;并在短短两个月内成功将三个核心业务应用迁移至OceanBase上。究竟是何因素促使游卡放弃游戏行业普遍采用的MySQL方案&#xff0c;转而大胆选择OceanB…

Spring Colud Alibaba: Spring Cloud Alibaba 是什么

文章目录 一、介绍二、特征 一、介绍 Spring Cloud Alibaba 是 Spring Cloud 的一个子项目&#xff0c;它基于阿里巴巴的开源技术和产品&#xff0c;为开发者提供了一套微服务解决方案。Spring Cloud Alibaba 提供了一系列的微服务开发工具&#xff0c;帮助开发者构建分布式应…

国内ip切换是否合规?

在网络使用中&#xff0c;IP地址切换是一种常见的行为&#xff0c;可以用于实现隐私保护、访问地域限制内容等目的。然而&#xff0c;对于国内用户来说&#xff0c;IP地址切换是否合规一直是一个备受关注的话题。在中国&#xff0c;网络管理严格&#xff0c;一些IP切换行为可能…

Java安全 反序列化(3) CC1链-TransformedMap版

Java安全 反序列化(3) CC1链-TransformedMap版 本文尝试从CC1的挖掘思路出发&#xff0c;理解CC1的实现原理 文章目录 Java安全 反序列化(3) CC1链-TransformedMap版配置jdk版本和源代码配置前记 为什么可以利用一.CC链中的命令执行我们可以尝试一下通过InvokerTransformer.tr…

day24| 77.组合 51. N Queens 78.Subsets 79.Word Search 开启岛屿系列以及贪心!

77. 不重复不复选 class Solution { public:vector<vector<int>> results;vector<int> cur;void backtrack(int n,int k,int level){if(cur.size()>k){results.push_back(cur);return;}for(int i level;i<n;i){cur.push_back(i);backtrack(n,k,i1);…

ssm项目(tomcat项目),定时任务(每天运行一次)相同时间多次重复运行job 的bug

目录标题 一、原因 一、原因 debug本地调试没有出现定时任务多次运行的bug&#xff0c;上传到服务器就出现多次运行的bug。&#xff08;war的方式部署到tomcat&#xff09; 一开始我以为是代码原因&#xff0c;或者是linux和win环境不同运行定时任务的方式不一样。 但是自己…

专业135+总分400+重庆邮电大学801信号与系统考研经验重邮电子信息与通信工程,真题,大纲,参考书。

今年分数出来还是比较满意&#xff0c;专业801信号与系统135&#xff0c;总分400&#xff0c;没想到自己也可以考出400以上的分数&#xff0c;一年的努力付出都是值得的&#xff0c;总结一下自己的复习心得&#xff0c;希望对大家复习有所帮助。专业课&#xff1a;&#xff08;…

获取KEGG通路的基因列表 做单细胞GSEA、GSVA分析

使用KEGG通路的基因列表进行单细胞GSEA GSVA分析的过程&#xff0c;我们需要遵循以下步骤&#xff1a; 获取KEGG通路的基因列表&#xff1a;这通常涉及使用专门的R包&#xff0c;如KEGGREST或biomaRt&#xff0c;来查询KEGG数据库并检索特定通路的基因列表。 准备单细胞表达数…

HTML与Logic java基础面试题

序号问题答案21给定一个已经排序好了的数组要在数组中查找某个元素一般使用什么算法二分查找法22java八种基本数据类型 byte,short,int,long,float,double,char,boolean23编码实现一个数组的冒泡排序int nums[] {5,99,100,44,66,20} for(int i0;i<nums.length-1;i){ for…