编程题【字符集合】

输入描述:
每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写。
输出描述:
每组数据一行,按字符串原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出。

示例1

输入

abcqweracb

输出

abcqwer

思路:用数组记录当前字母是否输出过
 1 #include <iostream>
 2 #include<bits/stdc++.h>
 3
 4 using namespace std;
 5
 6 int main()
 7 {
 8     string in;
 9     while (cin >> in)
10     {
11         int asc[125];
12         memset(asc,0,sizeof(asc));//要先把数组置零
13         for (int i=0; i<in.size(); i++)
14         {
15             int id = in[i];
16             if (!asc[id])//若该字母还没输出过则进行输出
17             {
18                 printf("%c",in[i]);
19                 asc[id] = 1;//打上已有标记
20             }
21         }
22         printf("\n");
23     }
24
25     return 0;
26 }

原文地址:https://www.cnblogs.com/hemeiwolong/p/12287283.html

时间: 2024-10-11 01:06:09

编程题【字符集合】的相关文章

华为2016研发工程师编程题:字符集合

字符集合 输入一个字符串,求出该字符串包含的字符集合 输入描述: 每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写. 输出描述: 每组数据一行,按字符串原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出. 输入例子: abcqweracb 输出例子: abcqwer 解题 标记法时间复杂度太差了,可以用HashMap增加了空间复杂度 我的标记法 import java.util.Scanner; public class Main{ public s

[编程题-美团] 字符编码

[编程题] 字符编码 请设计一个算法,给一个字符串进行二进制编码,使得编码后字符串的长度最短. 输入描述: 每组数据一行,为待编码的字符串.保证字符串长度小于等于1000. 输出描述: 一行输出最短的编码后长度. 输入例子: MT-TECH-TEAM 输出例子: 33 #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <algorithm&

2017年校招全国统一模拟笔试(第二场)编程题集合-牛客网

 2017年校招全国统一模拟笔试(第二场)编程题集合-牛客网 链接:https://www.nowcoder.com/questionTerminal/276712b113c6456c8cf31c5073a4f9d7来源:牛客网 牛牛有两个字符串(可能包含空格),牛牛想找出其中最长的公共连续子串,希望你能帮助他,并输出其长度. 输入描述: 输入为两行字符串(可能包含空格),长度均小于等于50. 输出描述: 输出为一个整数,表示最长公共连续子串的长度. 输入例子: abcde abgde 输出例子

网易2017秋招编程题集合-牛客网

网易2017秋招编程题集合-牛客网 链接:https://www.nowcoder.com/questionTerminal/0147cbd790724bc9ae0b779aaf7c5b50来源:牛客网 如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列.例如: {1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列. 现在给出一个数字序列,允许使用一

编程题:输入一串字符,程序会自动将大写字母转换为小写

编程题:输入一串字符,程序会自动将大写字母转换为小写 #include <stdio.h> #include <conio.h> main() { int i=0; char a[50],ch; printf("输入一串字符,程序会自动将大写字母转换为小写\n"); printf("按任意键继续,按Esc键退出\n"); while(ch=getch()!=27) { fflush(stdin); printf("请输入字符串:\n

编程题:strcmp()函数的作用是:从左到右逐个字符比较。遇见‘\0’为止。

编程题:strcmp()函数的作用是:从左到右逐个字符比较.(按照字符对应的ascii码值比较)遇见'\0'为止. #include<stdio.h> #include<string.h> int string_compare(char string1[],char string2[]) { int i=0; while(string1[i]==string2[i]&&string1[i]!='\0') i++; return string1[i]-string2[

编程题:字符串与字符数组的输入方法。

#include<stdio.h> void main() {char str1[6],str2[10]; int i; for(i=0;i<5;i++) scanf("%c",&str1[i]); str1[5]='\0'; scanf("%s",str2); printf("%s\n%s\n",str1,str2); } 编程题:字符串与字符数组的输入方法.,布布扣,bubuko.com

网易2017春招笔试真题编程题集合题解

01 双核处理 题目 一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核1秒可以处理1kb,每个核同时只能处理一项任务.n个任务可以按照任意顺序放入CPU进行处理,现在需要设计一个方案让CPU处理完这批任务所需的时间最少,求这个最小的时间. 输入描述 输入包括两行:第一行为整数n(1 ≤ n ≤ 50)第二行为n个整数lengthi,表示每个任务的长度为length[i]kb,每个数均为1024的倍数. 输出描述输出一个整数,表示最少需

上机操作编程题

一.写一个简单的缓存系统 1 package com.wisezone.demo; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 /** 6 * 上机操作: 7 * 面试题--写一个简单的缓存系统 8 * @author 王东海 9 * @2017年6月5日 10 */ 11 public class CacheDemo 12 { 13 private Map<String, Object> map = new HashMap&