首页 > 试题广场 >

找位置

[编程题]找位置
  • 热度指数:28870 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
对给定的一个字符串,找出有重复的字符,并给出其位置,如: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
头像 猫猫有脾气
发表于 2020-03-21 18:23:19
这个题得按照测试用例的字符串出现的字母顺序来输出下面是我写的代码 我自我感觉挺棒的 如果有更好的 欢迎交流 #include<iostream> #include<cstdio> #include<string> #include<cstring> 展开全文
头像 牛客362459853号
发表于 2021-11-26 21:25:21
问题分析: 这个问题难就难在如何判断当前是否是最后一个出现的,因为输出格式有要求。最后一个的输出格式跟前面的不同, 那么我们可以转换一下思路,假设每次找到重复的值,每次只输出上一次出现的位置,并用tmp保存当前位置, 那么最后一次出现的位置就不会被输出出来,然后判断tmp是否==i 展开全文
头像 潇尘
发表于 2021-03-18 20:20:22
题目 对给定的一个字符串,找出有重复的字符,并给出其位置,如:abcaaAB12ab12 输出:a,1;a,4;a,5;a,10,b,2;b,11,1,8;1,12, 2,9;2,13。 //使用map + vector的方法吧 #include <iostream> #include 展开全文
头像 青青草原扛把子
发表于 2022-02-28 15:22:21
思路: 先找到每个字符出现的次数——>出现次数大于1时用单独的函数查找其出现的位置 1、定义一个128大小的int型数组,将字符串的每一个字符的ASC码作为下标,统计每个字符出现的次数,每出现一次对应数组元素大小加一, 2、统计完成后,再遍历原字符串,将每个字符的ASC码作为 展开全文
头像 时间进行的小宇
发表于 2021-08-10 16:05:10
map的高级复杂用法。将map值的部分使用struct来表示。因为题目要求需要按照下标顺序从小到大输出。那么在struct中添加一个judge用于判断是否已经判别,这样在对字符串从index = 0开始,就满足了题目要求。 const int MAXN = 1001; struct Point{ 展开全文
头像 DioDid
发表于 2022-01-23 23:51:53
法1: 使用了哈希表 参考这一篇文章:https://blog.nowcoder.net/n/9bdf2f93480045b6810453b39196260b 哈希表不一定要是链表形式,也可能是用一个数组结构存放 #include <stdio.h> //ASCII码一共128位 // 展开全文
头像 勤奋努力的红太狼拒绝内卷
发表于 2023-09-02 20:24:45
import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public c 展开全文
头像 Xijian1999
发表于 2023-02-15 18:40:39
//1.统计字母 //2.判断是否重复 //3.找到下一个重复项的位置 #include<iostream> #include<algorithm> #include<string> #include<map> using namespace std 展开全文
头像 ShawMaker
发表于 2024-03-10 11:34:48
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <map> #include <vector> using namespace std; map<char, vector<int& 展开全文
头像 cxbatman
发表于 2023-03-08 21:57:41
链接想好几个难点1 输入了几个字符=>写个循环得出2 怎么防止重复访问=>用变量visit记录,在输出的时候改变visit链接3 怎么找相同的=>用两个循环(暴力匹配)4 输出格式=> 第一行:单独输出 第二行到n行,之前加个‘,’ 最后一行加‘\n’怎么办 展开全文