当前位置: 首页 > news >正文

KY228 找位置(用Java实现)

描述

对给定的一个字符串,找出有重复的字符,并给出其位置,如:abcaaAB12ab12 输出:a,1;a,4;a,5;a,10,b,2;b,11,1,8;1,12, 2,9;2,13。

输入描述:

输入包括一个由字母和数字组成的字符串,其长度不超过100。

输出描述:

可能有多组测试数据,对于每组数据, 按照样例输出的格式将字符出现的位置标出。 1、下标从0开始。 2、相同的字母在一行表示出其出现过的位置。

示例1

输入:

abcaaAB12ab12

输出:

a:0,a:3,a:4,a:9
b:1,b:10
1:7,1:11
2:8,2:12

代码如下:

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;/** 找位置*/
public class FindPosition {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while(scanner.hasNext()) {String str = scanner.next();String[] strs = new String[str.length()];//记录字符以及对应出现的次数Map<String, Integer> myMap = new LinkedHashMap<String, Integer>();for (int i = 0; i < strs.length; i++) {strs[i] = Character.toString(str.charAt(i));if (myMap.containsKey(strs[i])) {myMap.put(strs[i], myMap.get(strs[i]) + 1);}else {myMap.put(strs[i], 1);}}//将出现次数只有一次的删除List<String> myList = new ArrayList<String>();for(Map.Entry<String, Integer> entry : myMap.entrySet()) {if (entry.getValue() == 1) {//不能直接在这里删除myList.add(entry.getKey());}}for(int i = 0;i < myList.size() ; i++) {myMap.remove(myList.get(i));}for(Map.Entry<String, Integer> entry : myMap.entrySet()) {String s = entry.getKey();//记录第几次出现,最后一次的最后没有","int sum = 1;for (int j = 0; j < strs.length; j++) {if(strs[j].equals(s)) {if (sum < entry.getValue()) {System.out.print(s+":"+j+",");sum++;}else {System.out.print(s+":"+j);}}}System.out.println();}}}
}

http://www.lryc.cn/news/325810.html

相关文章:

  • 物联网边缘网关有哪些优势?-天拓四方
  • 【C++】6-2 交换函数2 分数 10
  • kafka 01
  • Linux离线安装Docker-Oracle_11g
  • web前端3.19
  • Rust 函数体内能定义数据类型或者做其他什么事情吗?
  • flask_restful结合蓝图使用
  • 干货分享之反射笔记
  • 使用小皮【phpstudy】运行Vue+MySql项目
  • 局部静态变量实现单例模式,线程安全(推荐使用)c++11
  • Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
  • Mybatis-Plus——09,代码自动生成器
  • Temu api接口 获取商品详情 数据采集
  • 安捷伦Agilent N1912A功率计
  • ES 进阶知识
  • ChatGPT 对 ELT的理解
  • qt事件机制学习笔记
  • 网红电商主播培养体系招聘管理制度孵化方案
  • Android获取经纬度的最佳实现方式
  • 芒果YOLOv8改进137:主干篇CSPNeXt,小目标检测专用,COCO数据集验证,协调参数量和计算量的均衡,即插即用 | 打造高性能检测
  • 【测试开发学习历程】认识Python + 安装Python
  • webpack proxy工作原理?为什么能解决跨域?
  • ArkTS编写的HarmonyOS原生聊天UI框架
  • uni-app中web-view的使用
  • 前端跨域概念及解决方法
  • Redis中的事务机制
  • 从零到一构建短链接系统(八)
  • 缺省和重载。引用——初识c++
  • java常用IO流功能——字符流和缓冲流概述
  • Python中模块的定义、用法