分界线-积木游戏 demo

 

目录

匿名信

题目描述:

输入描述

输出描述:

示例:

Java实现 (期待看官能够修复一下, 害):

二、积木游戏

题目描述:

输入描述

输出描述

补充说明

示例

Java代码实现


匿名信

题目描述:

电视剧《分界线》里面有一个片段,男主为了向警察透露案件细节,且不暴露自己,于是将报刊上的字
剪切下来,剪拼成匿名信。
现在有一名举报人,希望借鉴这种手段,使用英文报刊完成举报操作。
但为了增加文章的混淆度,只需满足每个单词中字母数量一致即可,不关注每个字母的顺序。
解释:单词 'on' 允许通过单词 'no' 进行替代。
报纸代表 newspaper , 匿名信代表 anonymousLetter , 求报纸内容是否可以拼成匿名信。

输入描述

第一行输入 newspaper 内容,包括 1 - N 个字符串,用空格分开
第二行输入 anonymousLetter 内容,包括 1 - N 个字符串,用空格分开
1 newspaper anonymousLetter 的字符串由小写英文字母组成且每个字母只能使用一次
2 newspaper 内容中的每个字符串字母顺序可以任意调整 , 但必须保证字符串的完整性 ( 每个字符串不
能有多余字母 )
3 1 < N < 100 1 <= newspaper . length anonymousLetter . length <= 10

输出描述:

如果报纸可以拼成匿名信返回 true ,否则返回 false

示例:

示例 1
输入 :
ab cd
ab
输出: true
示例 2
输入:
ab ef
aef
输出: false
示例 3
输入:
ab bcd ef
cbd fe
输出: true
示例 4
输入:
ab bcd ef
cd ef
输出: false
示例 5
输入:
wood wood wood
wodo wdoo
输出: true
示例 6
输入:
wood
wodo wood
输出: false

Java实现 (期待看官能够修复一下, 害):

public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String newspaper = scanner.nextLine();String anonymous = scanner.nextLine();String[] newspaperArray = newspaper.split(" ");String[] anonymousArray = anonymous.split(" ");TreeSet<String> set = new TreeSet<>();for (String news : newspaperArray) {char[] charArray = news.toCharArray();Arrays.sort(charArray);String value = String.valueOf(charArray);if (!set.contains(value)) {set.add(value);}}boolean canAppend = true;for (String anonymousStr : anonymousArray) {char[]  anonymousCharArray = anonymousStr.toCharArray();Arrays.sort(anonymousCharArray);String sortedAnonymous = String.valueOf(anonymousCharArray);//set里面没有拼出来 就返回falseif (!set.contains(sortedAnonymous)) {canAppend = false;break;}}System.out.println(canAppend ? "true" : "false");}

二、积木游戏

题目描述:

小华和小薇一起通过玩积木游戏学习数学。
他们有很多积木,每个积木块上都有一个数字,积木块上的数字可能相同。
小华随机拿一些积木挨着排成一排,请小薇找到这排积木中数字相同且所处位置最远的 2 块积木块,计
算他们的距离。
小薇请你帮忙替解决这个问题。

输入描述

第一行输入为 N ,表示小华排成一排的积木总数。
接下来 N 行每行一个数字,表示小华排成一排的积木上数字。

输出描述

相同数字的积木的位置最远距离;
如果所有积木数字都不相同,请返回 - 1.

补充说明

0 <= 积木上的数字 < 10 ^9
1 <= 积木长度 <= 10 ^5

示例

示例 1
输入:
5
1
2
3
1
4
输出: 3
说明:一共有 5 个积木,第 1 个积木和第 4 个积木数字相同,其距离为 3 ;
输入:
2
1
2
输出: - 1
说明:一共有 2 个积木,没有积木数字相同,返回 - 1 ;

Java代码实现

   public static void main(String[] args) {Scanner sc = new Scanner(System.in);int N = sc.nextInt();int[] nums = new int[N];for (int i = 0; i < N; i++) {nums[i] = sc.nextInt();}System.out.println(findMaxDistance(nums));}public static int findMaxDistance(int[] nums) {Map<Integer, Integer> map = new HashMap<>();int maxDistance = -1;for (int i = 0; i < nums.length; i++) {if (map.containsKey(nums[i])) {//这段代码是计算最大距离的。//首先,定义了一个变量maxDistance来存储最大距离,初始值为-1。//然后,使用一个循环遍历输入的积木上的数字。在每次循环中,通过map.get(nums[i])获取当前数字在HashMap中对应的位置。如果该位置存在(即之前已经出现过这个数字),则计算当前位置与之前出现该数字的位置之间的距离,并更新maxDistance为较大的那个值。如果该位置不存在(即之前没有出现过这个数字),则将当前位置存入HashMap中。//最后,返回maxDistance作为结果。maxDistance = Math.max(maxDistance, i - map.get(nums[i]));} else {map.put(nums[i], i);}}return maxDistance;}

        

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

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

相关文章

【Android知识笔记】FrameWork中的设计模式

一、FrameWork中有哪些设计巧妙之处 例如: Binder调用,模糊进程边界: 屏蔽跨进程IPC通信的细节,让开发者把精力放在业务上面,无需关心进程之间的通信。Bitmap大图传输,高性能: 只传递Binder句柄,到目标进程后做内存映射,不用做大量数据拷贝,速度非常快。Zygote创建进…

前端面试话术集锦第 15 篇:高频考点(React常考进阶知识点)

这是记录前端面试的话术集锦第十五篇博文——高频考点(React常考进阶知识点),我会不断更新该博文。❗❗❗ 1. HOC 是什么?相比 mixins 有什么优点? 很多人看到高阶组件(HOC)这个概念就被吓到了,认为这东西很难,其实这东西概念真的很简单,我们先来看一个例子: func…

Python基础数据结构入门必读指南

更多资料获取 作者主页&#xff1a;涛哥聊Python 个人网站&#xff1a;涛哥聊Python 大家好&#xff0c;我是涛哥&#xff0c;今天为大家分享的是Python中常见的数据结构。 1.数组 含义&#xff1a;数组是一种有序的数据结构&#xff0c;其中的元素可以按照索引来访问。数组…

谷粒商城篇章6 ---- P193-P210 ---- 异步线程池商品详情【分布式高级篇三】

目录 1. 异步 1.1 初始化线程的 4 种方式 1.1.1 继承 Thread 1.1.2 实现 Runnable 接口 1.1.3 实现 Callable 接口 FutureTask 1.1.4 线程池 1.1.5 以上 4 种方式总结&#xff1a; 1.2 线程池详解 1.2.1 初始化线程池的 2 种方式 1.2.1.1 使用 Executors 创建 1.2…

Mybatis中传0值会匹配到非空字符串判断‘’

例子&#xff1a; 需要列表筛选禁用和启用数据 if (StringUtils.isNotEmpty(status) && !"all".equalsIgnoreCase(status)) {if (status.equalsIgnoreCase(ActiveTypeEnum.ENABLE.getCode())) {condition.put("active", 1);} else {condition.put…

嵌入式养成计划-29-网络编程----TCP与UDP的基础模型

Linux下&#xff0c;基于TCP与UDP协议&#xff0c;不同进程下单线程通信服务器 Linux下&#xff0c;基于TCP与UDP协议&#xff0c;不同进程下单线程通信服务器 六十五、TCP与UDP的基础模型 1. socket 1.1 套接字概念 最早的套接字和共享内存&#xff0c;消息队列&#xff…

一篇文章带你学会Hadoop-3.3.4集群部署

目录 ​编辑 一、Hadoop集群部署 二、基础设施配置 2.1 设置网络 2.1.1 设置主机名称 2.1.2 设置hosts配置文件 2.1.3 关闭防火墙 2.1.4 关闭selinux 2.1.5 更换语言环境 2.1.6 更换时区 2.1.7 ssh免密 2.1.7.1 生成.ssh文件夹 2.1.7.2 进入文件夹 2.1.7.3 生成密码和…

MySQL数据库查缺补漏——基础篇

MySQL数据库查缺补漏-基础篇 基础篇 net start mysql80[服务名] net stop mysql80 create database pshdhx default charset utf8mb4; 为什么不使用utf8&#xff1f;因为其字符占用三个字节&#xff0c;有四个字节的字符&#xff0c;所有需要设置为utf8mb4; 数值类型&…

Windows10/11无线网卡WIFI驱动详细下载安装教程

官网下载WIFI驱动 《intel官网》 找到下载Windows 10 and Windows 11* WiFi package drivers 查看详细信息 下载对应操作系统的WIFI驱动 安装驱动&#xff0c;然后重启电脑即可。

【操作系统】聊聊文件系统是如何工作的

文件系统其实是操作系统中存储的核心、计算、网络。除了使用寄存器、内存可以临时存储数据&#xff0c;使用磁盘持久化存储更重要。 磁盘为系统提供了数据持久化功能。文件系统在磁盘的基础上&#xff0c;抽象出了一个管理文件的树状结构 索引节点和目录项 Linux中一切皆是文…

HarmonyOS应用开发—资源分类与访问

应用开发过程中&#xff0c;经常需要用到颜色、字体、间距、图片等资源&#xff0c;在不同的设备或配置中&#xff0c;这些资源的值可能不同。 应用资源&#xff1a;借助资源文件能力&#xff0c;开发者在应用中自定义资源&#xff0c;自行管理这些资源在不同的设备或配置中的表…

7.4.4 【MySQL】索引字符串值的前缀

我们知道一个字符串其实是由若干个字符组成&#xff0c;如果我们在 MySQL 中使用 utf8 字符集去存储字符串的话&#xff0c;编码一个字符需要占用 1~3 个字节。假设我们的字符串很长&#xff0c;那存储一个字符串就需要占用很大的存储空间。在我们需要为这个字符串列建立索引时…

算法|图论 3

LeetCode 130- 被围绕的区域 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目描述&#xff1a;给你一个 m x n 的矩阵 board &#xff0c;由若干字符 X 和 O &#xff0c;找到所有被 X 围绕的区域&#xff0c;并将这些区域…

一键集成prometheus监控微服务接口平均响应时长

一、效果展示 二、环境准备 prometheus + grafana环境 参考博文:https://blog.csdn.net/luckywuxn/article/details/129475991 三、导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter

UE5学习笔记(1)——从源码开始编译安装UE5

目录 0. 前期准备1. Git bash here2. 克隆官方源码。3. 选择安装分支4. 运行Setup.bat&#xff0c;下载依赖文件5. 运行GenerateProjectFiles.bat生成工程文件6. 生成完成&#xff0c;找到UE5.sln/UE4.sln7. 大功告成 0. 前期准备 0.1 在windows的话&#xff0c;建议装一个Git…

Markdown(MD)——Typora Markdown安装教程(2023九月亲测可用!!!)

目录 一、简介 1.Markdown简介 2.Markdown特点 3.Typora简介 二、安装教程 1.下载安装包 2.解压到文件夹 3.安装 4.破解 ​编辑5.激活 三、Markdown常用语法 1.常用语法 2.用于编辑LaTex公式 四、其他编辑器 一、简介 1.Markdown简介 Markdown 是一种轻量级标记语…

WPF——Control与Template理解

文章目录 一、前言二、控件三、模板3.1 DataTemplate3.2 ControlTemplate3.3 ContentPresenter 四、结语 一、前言 最近又翻看了下刘铁猛的《深入浅出WPF》&#xff0c;发现对模板章节中的部分内容有了更深的体会&#xff0c;所以写篇文扯扯。 文章标题是Control与Template&a…

企业级数据仓库-理论知识

D3 AM 大数据中间件 Hive&#xff1a;将SQL转化成分布式Map/Reduce进行运算&#xff0c;也支持转换成Spark,需要单独安装Hive集群才能访问Spark,支持60%的SQL&#xff0c;延迟比较大。SparkSQL:属于Spark生态圈&#xff0c;Hive on Sqark。HBase: NoSQL,高并发读&#xff0c;适…

c语言进阶部分详解(指针进阶1)

大家好&#xff01;指针的初阶内容我已经写好&#xff0c;可移步至我的文章&#xff1a;c语言进阶部分详解&#xff08;指针初阶&#xff09;_总之就是非常唔姆的博客-CSDN博客 基本内容我便不再赘述&#xff0c;直接带大家进入进阶内容&#xff1a; 目录 一.字符指针 1.讲解…

那些年我们遇到过的关于excel的操作

本文为直接从百度上搜索的关于excel的函数使用&#xff0c;方便以后用&#xff0c;希望会持续补充 excel中筛选出两列重复的数据【场景&#xff1a;A、B两列数据个数不同且无序&#xff0c;想找出A列中的数据在B列中不存在的&#xff0c;通过比较后单元格为空的代表该行不存在的…