九度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 的时候输入结束. 接 ...
随机推荐
- reduceByKey和groupByKey的区别
先来看一下在PairRDDFunctions.scala文件中reduceByKey和groupByKey的源码 /** * Merge the values for each key using a ...
- 解压缩报错tar: Error is not recoverable: exiting now
[root@Gris-11140 FMIS2600bak]# tar -zxvf /home/oradata/FMIS2600DMP.tar.gzgzip: stdin: not in gzip fo ...
- 【HTML 元素】嵌入另一张HTML文档、通过插件嵌入内容、嵌入数字表现形式
1.嵌入另一张HTML文档 iframe 元素允许在现有的HTML文档中嵌入另一张文档.下面代码展示了iframe元素的用法: <!DOCTYPE html> <html lang= ...
- hibernate学习系列-----(4)hibernate基本查询上篇:HQL基本查询
紧接着上一篇,今天继续hibernate的学习总结,来聊一聊hibernate的基本查询方法,先说说HQL(hibernate Query Language):它是官方推荐的查询语言.在开始写代码之前 ...
- 有效的web安全信息源
杂志:hackcto ,书安 乌云知识库,91ri.org,安全脉搏(http://www.secpulse.com/) 乌云公开漏洞,乌云热点漏洞,90sec 内网渗透找90.web注入找习科, 已 ...
- redis基本数据类型及命令
一.key相关命令 redis本质上是key-value数据库.所以key操作适用于redis的任何数据类型缓存. 1.exists key判断是否存在key,存在返回1,不存在返回0 2.del k ...
- 字典树-HDOJ-1247-Hat’s Words
Hat's Words Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
- psql命令行快速参考
psql的命令语法是: psql [options] [dbname [username]] psql命令行选项以及它们的意思在表1-1中列出.使用以下命令可以看到psql完整的选项列表: $ psq ...
- PHP奇偶行不同显示不同的背景
有时数据成表格状 为了更加美观会将奇偶行显示不同的背景色. 实现代码: <foreach name="list" item="v" key='k'> ...
- 已知有字符串foo=”get-element-by-id”,写一个function将其转化成驼峰表示法”getElementById”
题目:已知有字符串foo=”get-element-by-id”,写一个function将其转化成驼峰表示法”getElementById”. 代码: <!DOCTYPE html> &l ...