九度OJ 1199:找位置 (计数)
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:2083
解决:1010
- 题目描述:
-
对给定的一个字符串,找出有重复的字符,并给出其位置,如:abcaaAB12ab12
输出:a,1;a,4;a,5;a,10,b,2;b,11,1,8;1,12, 2,9;2,13。
- 输入:
-
输入包括一个由字母和数字组成的字符串,其长度不超过100。
- 输出:
-
可能有多组测试数据,对于每组数据,
按照样例输出的格式将字符出现的位置标出。
- 样例输入:
-
abcaaAB12ab12
- 样例输出:
-
a:0,a:3,a:4,a:9
b:1,b:10
1:7,1:11
2:8,2:12
- 提示:
-
1、下标从0开始。
2、相同的字母在一行表示出其出现过的位置。
代码:
找个数组或建个结构体计数。
代码:
#include <stdio.h>
#include <stdlib.h> #define N 100 struct node {
char c;
int count;
int index[N];
}; void print(struct node *p)
{
int i;
for (i=0; i<p->count-1; i++)
printf("%c:%d,", p->c, p->index[i]);
printf("%c:%d\n", p->c, p->index[i]);
} int cmp(const void *a, const void *b)
{
struct node *c = (struct node *)a;
struct node *d = (struct node *)b;
return c->index[0] - d->index[0];
} int main(void)
{
int i;
char s[N+1];
struct node a[128]; while (scanf("%s", s) != EOF)
{
for (i=0; i<128; i++)
{
a[i].c = i;
a[i].count = 0;
a[i].index[0] = -1;
}
for (i=0; s[i]; i++)
{
a[s[i]].index[a[s[i]].count] = i;
a[s[i]].count ++;
}
qsort(a, 128, sizeof(a[0]), cmp);
for (i=0; i<128; i++)
{
if (a[i].count > 1)
print(&a[i]);
}
} return 0;
}
/**************************************************************
Problem: 1199
User: liangrx06
Language: C
Result: Accepted
Time:30 ms
Memory:912 kb
****************************************************************/
九度OJ 1199:找位置 (计数)的更多相关文章
- 九度OJ 1035:找出直系亲属(二叉树)
题目1035:找出直系亲属 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1309 解决:521 题目描述: 如果A,B是C的父母亲,则A,B是C的parent,C是A,B的child,如 ...
- 【九度OJ】题目1199:找位置 解题报告
[九度OJ]题目1199:找位置 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1199 题目描述: 对给定的一个字符串,找出有重复的 ...
- 【九度OJ】题目1052:找x 解题报告
[九度OJ]题目1052:找x 解题报告 标签(空格分隔): 九度OJ [LeetCode] http://ac.jobdu.com/problem.php?pid=1052 题目描述: 输入一个数n ...
- 【九度OJ】题目1170:找最小数 解题报告
[九度OJ]题目1170:找最小数 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1170 题目描述: 第一行输入一个数n,1 < ...
- 【九度OJ】题目1177:查找 解题报告
[九度OJ]题目1177:查找 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1177 题目描述: 读入一组字符串(待操作的),再读入 ...
- 九度OJ 1500 出操队形 -- 动态规划(最长上升子序列)
题目地址:http://ac.jobdu.com/problem.php?pid=1500 题目描述: 在读高中的时候,每天早上学校都要组织全校的师生进行跑步来锻炼身体,每当出操令吹响时,大家就开始往 ...
- 九度OJ 1371 最小的K个数 -- 堆排序
题目地址:http://ac.jobdu.com/problem.php?pid=1371 题目描述: 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4 ...
- 九度oj题目&吉大考研11年机试题全解
九度oj题目(吉大考研11年机试题全解) 吉大考研机试2011年题目: 题目一(jobdu1105:字符串的反码). http://ac.jobdu.com/problem.php?pid=11 ...
- 九度oj题目1009:二叉搜索树
题目描述: 判断两序列是否为同一二叉搜索树序列 输入: 开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束. 接 ...
随机推荐
- http://www.cnblogs.com/dolphin0520/p/3949310.html
http://www.cnblogs.com/dolphin0520/p/3949310.html
- [转载]java自带线程池和队列详细讲解
FROM:http://blog.csdn.net/sd0902/article/details/8395677 一简介 线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中 ...
- setlocal启动批处理文件中环境变量的本地化
setlocal启动批处理文件中环境变量的本地化 在执行 SETLOCAL 之后所做的环境改动只限于批处理文件.要还原原先的设置,必须执行 ENDLOCAL. 学习了:https://baike.ba ...
- 自己定义circle
写了一个还不错的自己定义控件.用来展示完毕度或能力值,程序中配置好所占百分比.图中就能够用外面的圆环来显示百分比,效果还是不错的~ watermark/2/text/aHR0cDovL2Jsb2cuY ...
- [1-6] 把时间当做朋友(李笑来)Chapter 6 【更多思考】 摘录
记住,你不可能百分之百地有效率,至少不可能总是百分之百地有效率. 他们的效率很差.根源在于,他们其实只做简单的事情,而回避那些有难度的工作. 好像丢钱包的人都不是“故意”丢的一样,办事拖拉的人大多并非 ...
- 转 【MQTT】在Windows下搭建MQTT服务器
MQTT简介 MQ 遥测传输 (MQTT) 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放.简单.轻量.易于实现.这些特点使它适用于受限环境.该协议的特点有: 使用发布/订阅消息模式,提供 ...
- Spring事务管理简介
© 版权声明:本文为博主原创文章,转载请注明出处 1.什么是事务 - 事务是指逻辑上的一组操作,这组操作要么全部成功,要么全部失败 2.事务特性(ACID) - 1.原子性(Atomicity):指事 ...
- GetTickCount()函数的陷阱!
开发中经经常使用GetTickCount()函数来进行间隔时间的推断.如推断某一段代码运行花了多少时间等,使用比較方便. 可是仅仅针对寻常的一些測试.近期开发一个服务程序时,也在代码中用GetTick ...
- Sphinx初探之安装
在Centos or redhat 安装Sphinx .首先安装依赖包 $ yum install postgresql-libs unixODBC .安装软件 $ rpm -Uhv sphinx-- ...
- php获取post内容方式
PHP默认识别的数据类型是application/x-www.form-urlencoded标准的数据类型. php获取post参数的几种方式 1.$_POST['paramName'] 只能接收Co ...