首页 > 试题广场 >

编程题 在一个字符串中找到出现指定次数的字符并通过控

[问答题]

编程题

在一个字符串中找到出现指定次数的字符并通过控制台输出。

如输入abaccdeff1,则通过控制台输出:

b

d

e

如输入abaccdeff2,则通过控制台输出:

a

c

f

import java.util.*;
public class test1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		String str=sc.nextLine();
		char[] arr=str.toCharArray();
		HashMap<Character,Integer> hm=new HashMap<Character,Integer>();
		for(char c:arr) {
			if(!hm.containsKey(c)) {
				hm.put(c,1);
			}else {
				hm.put(c,hm.get(c)+1);
			}
		}
		for(Character key:hm.keySet()) {
			if(hm.get(key)==1) {
				System.out.println(key);
			}
		}
	}
}

发表于 2019-09-07 22:06:39 回复(1)
#include<iostream>
#include<string>
using namespace std;

int main()
{
    string str;
    int num, len, count[256] = {0};
    cin >> str;
    cin >> num;
	len = str.size();
	for(int i=0; i<len; i++)
        count[str[i]] ++;
	for(i=0; i<256; i++)
	{
		if(count[i] == num)
			cout << char(i) << endl;
	}
	return 0;
}

发表于 2019-09-22 10:14:00 回复(0)
public class P1 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner rd=new Scanner(System.in);
		int num;
		String str;
		str=rd.next();
		num=rd.nextInt();
		char list[]=str.toCharArray();
		int arr[]=new int[26];
		int flag;
		for(int i=0;i<list.length;i++)
		{
			arr[list[i]-'a']++;
		}
		for(int i=0;i<26;i++)
		{
			if(arr[i]==num)
			{
				System.out.println((char)(i+'a'));
			}
		}
	}
杰不系很简单嘛
发表于 2019-09-16 21:32:58 回复(1)
public static void main(String[] args) {
    String str = "";
    int count;

    Scanner scanner = new Scanner(System.in);

    String[] splited = null;

    System.out.println("例如:\naaabbcbc(空格)2");
    while(true) {
        String myInput = scanner.nextLine();
        splited = myInput.split(" ");
        if (splited[0].trim().length() == 0) {
            System.out.println("请输入一段有效的字母:");
            continue;
        } else {
            str = splited[0];
        }
        try {
            count = Integer.valueOf(splited[1]);
            if (count == 0) {
                System.out.println("请输入一个大于0的数字:");
                continue;
            }
        } catch (Exception e) {
            System.out.println("请在字母后加上正确的数字!");
            continue;
        }
        break;
    }

    char[] mycharArray = str.toCharArray();

    Map<Character, Integer> map = new HashMap<>();//用于存放结果的hashmap

    for (char c : mycharArray) {
        if (map.containsKey(c)) {
            map.put(c, (map.get(c)) + 1);
        } else {
            map.put(c, 1);
        }
    }

    Set<Character> keys = map.keySet();
    for (Character key : keys) {
        int value = map.get(key);
        if (value == count) {
            System.out.println(key);
        }
    }

    scanner.close();
}

发表于 2019-09-15 17:19:36 回复(0)
import java.util.*;

public class abc {

    public static void main(String[] args) {

        Scanner sc1 = new Scanner(System.in);
        String abc=sc1.next();
        int num=sc1.nextInt();
        char[] a= abc.toCharArray();
        Set<Character> set=new TreeSet<>();
        for (int i = 0; i < a.length; i++) {
            if(ok(a,a[i])==num)
            set.add(a[i]);
        }

        for (Character character : set) {
            System.out.println(character);
        }

    }

    static int ok(char[] chars,int temp){
        int count=0;
        for (int i = 0; i < chars.length; i++) {
            if(chars[i]==temp)
                count++;
        }
        return count;
    }
    
}
发表于 2023-10-13 16:37:30 回复(0)
public class CountSearch { public static void main(String[] args) { searchByCount("aaabbccdddd",2);  } public static void searchByCount(String str, int count) {
        Map<Character,Integer> map = new HashMap<>();  for (int i = 0; i < str.length(); i++) { if (map.containsKey(str.charAt(i))){
                map.put(str.charAt(i),map.get(str.charAt(i)) + 1);  } else {
                map.put(str.charAt(i),1);  }
        }
        Set<Map.Entry<Character, Integer>> entries = map.entrySet();  for (Map.Entry<Character, Integer> entry : entries) { if (entry.getValue().equals(count)){
                System.out.println(entry.getKey());  }
        }
    }
}

发表于 2022-09-19 09:28:07 回复(0)
list1=str(input())
n=int(input())
num={}
for i in list1:
    num[i]=list1.count(i)
for k, v in num.items():
    if n==v:
        print(k)

发表于 2022-03-31 14:19:10 回复(0)
function fn(strn) {
        var newArr = []
        var arr = str.split('')
        for (let i in arr) {
          if (newArr.indexOf(arr[i]) === -1) {
            newArr.push(arr[i])
          }
        }
        for (let i in arr) {
          var index = arr.indexOf(newArr[i])
          var count = 0
          while (index !== -1) {
            count++
            index = arr.indexOf(newArr[i], index + 1)
          }
          if (count == n) {
            console.log(newArr[i])
          }
        }
      }
发表于 2021-09-22 11:46:44 回复(0)
import java.util.*;

public class Test {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String str = scan.nextLine();
        int num = scan.nextInt();
        int[] result = new int[255];
        char[] arr = str.toCharArray();
        for ( char a : arr ){
            result[a]++;
        }

        for(int i=0 ; i<255 ;i++){
            if(result[i] == num){
                System.out.println((char)i);
            }
        }
    }
}

编辑于 2021-03-03 10:47:51 回复(0)
#include<bits/stdc++.h>
using namespace std;

//编译环境DevC++5.9.2

int MyHash[256];
const int maxn=100000+5;
char solve[maxn];

int main()
{
	while( nullptr!=gets(solve) )
	{
		int n;
		scanf("%d",&n);
		
		int len=strlen(solve);
		memset(MyHash,sizeof(MyHash),0);
		for(int i=0; i<len ; ++i)
		{
			MyHash[solve[i]]++;
		}
		
		for(int i=0; i<256 ; ++i)
		{
			if( n==MyHash[i] )
			{
				printf("%c\n",i); 
			}
		}
	}
	
	
	return 0;
 } 

发表于 2020-10-29 19:39:34 回复(0)
public class Main { public static void main(String[] args) {
        System.out.println("请输入字符串:");  Scanner sc = new Scanner(System.in);  String s = sc.nextLine();  System.out.println("请输入字符个数:");  int num = sc.nextInt();  pd(s, num);  } private static void pd(String s, int num) {
        HashMap<Character, Integer> smap = new HashMap<>();  char[] chars = s.toCharArray();  for (int i = 0; i < chars.length; i++) { char chra = chars[i];  if (smap.containsKey(chra)) {
                smap.put(chra, smap.get(chra) + 1);   } else {
                smap.put(chra, 1);  }
        }
        Set<Character> characters = smap.keySet();  for (Character c : characters) { if(num==(int)(smap.get(c))){
                System.out.println(c);  }
        }
    }
}
发表于 2020-09-20 17:25:25 回复(0)
string_input = input()
n = int(input())
res = []
for char in string_input:
    if string_input.count(char) == n and char not in res:
        res.append(char)
for char in res:
    print(char)

发表于 2020-09-09 17:24:12 回复(0)
//昌航~ 海
package hengsheng;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class T1_22 {
    public static void tt(String s1,int time) {
        char[] c1=s1.toCharArray();
        Map<Character, Integer> hash1=new HashMap<Character, Integer>();
        for(int i=0;i<c1.length;i++) {
            if(hash1.containsKey(c1[i])) {
                //System.out.println("1");
                Integer value=hash1.get(c1[i]);
                hash1.put(c1[i], ++value);
                //System.out.println(value);
            }else {
                //System.out.println(c1[i]);
                hash1.put(c1[i], 1);
            }
        }
        //System.out.println("2");
        List<Character> keyList = new ArrayList<>();//根据同一value获得多个key
        for(Character key:hash1.keySet()) {//指定List动态数组中的类型
            if(hash1.get(key).equals(time)) {
                //System.out.println("3");
                System.out.println(key);
                keyList.add(key);
            }
        }
        
        for(Iterator iter = keyList.iterator(); iter.hasNext(); ) {
            System.out.println("next is: "+ iter.next());
        }//// 通过Iterator遍历ArrayList
        
        for(Iterator iter1=keyList.iterator();iter1.hasNext();) {
            Object str=iter1.next();
            System.out.println(str);
        }
//        String[] arr = (String[])keyList.toArray(new String[0]);
//        for (String str:arr)
//                System.out.println("str: "+ str);

    }
    
    public static void main(String[] args) {
        tt("aabbbccddd",2);
    }
}
发表于 2020-08-30 23:05:27 回复(0)
fun main() {
    val str= readLine()
    val num= readLine()?.toInt()
 
    val mutableSet= mutableSetOf<Char>()
    val mutableMap= mutableMapOf<Char,Int>()
 
    str?.mapTo(mutableSet){it}
 
    for (i in mutableSet)
        mutableMap[i]=0
 
    for (i in str.orEmpty())
        mutableMap[i]= mutableMap[i]!!.plus(1)
 
    for (i in mutableMap)
        if (i.value==num)
            println(i.key)
}


编辑于 2020-02-23 14:51:06 回复(0)

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**

  • Created by cs on 2019/9/28 9:24
  • /
    public class Demo1 {
    public static void main(String[] args) {
          Scanner scanner=new Scanner(System.in);
          String str = scanner.nextLine();
          int InputCount = scanner.nextInt();
          char[] chars = str.toCharArray();
          List<Character> list=new ArrayList();
          for (int i=0;i<chars.length;i++){
              int count=0;//count从0开始计算,因为会和自身比较
              char a = chars[i];
              for (int j=0;j<chars.length;j++){
                  char b = chars[j];
                  if (a==b){
                      count++;
                  }
              }
              if (InputCount==count){
                  if (!list.contains(a)){
                      list.add(a);
                  }
              }
          }
          for (Character c:list){
              System.out.println(c);
          }
    }
    }
发表于 2019-09-29 14:37:01 回复(0)
public static void main(String args[]){
        Scanner in = new Scanner(System.in);
        String str = in.nextLine();
        int count = in.nextInt();
        char[] arr = str.toCharArray();
        HashMap<Character,Integer> hm = new HashMap<Character, Integer>();
        for(char c:arr){
            if(!hm.containsKey(c)){
                hm.put(c,1);
            }else{
                hm.put(c,hm.get(c)+1);
            }
        }
        for (Character key:hm.keySet()){
            if(hm.get(key) == count){
                System.out.println(key);
            }
        }
    }

发表于 2019-09-26 14:43:32 回复(0)
def get_print(str1, n):
    set1 = set()
    for i in range(0, len(str1)):
        if str1.count(str1[i]) == n:
            set1.add(str1[i])

    for j in set1:
        print(j)


get_print('aaabbvggghhjyd', 3)

发表于 2019-09-15 21:09:12 回复(0)
String model = sc.nextLine(); int num = sc.nextInt(); for(inti=0;i<model.length();i++)
{
    Character temp = model.charAt(i);  int count=0; for( intj=i;j<model.length();j++)
    { if(temp==model.charAt(j))
        {
            count++; }
    } if(count==num) {
            System.out.println(model.charAt(i));  }
}
发表于 2019-09-10 10:26:24 回复(0)
s = input("输入字符串:")
num = int(input("请输入次数:"))
d = {}
for word in s:
    d[word] = d.get(word,0) + 1
ls = list(d.items())
for i in range(len(ls)):
    if num == ls[i][1]:
        print(ls[i][0])

python实现。
发表于 2019-09-05 16:10:13 回复(2)
import java.util.*;
public class Main {
    public static void main(String args[]) {
        Scanner scanner = new Scanner(System.in);
        Main m = new Main();
        String s = "";
        while(scanner.hasNextLine()){
            s = scanner.nextLine();
            m.getNum(s);
        }
    }
    public void getNum(String str){
        HashMap<Character,Integer> map = new HashMap<>();
        char[] c = str.toCharArray();
        int num = c[c.length-1]-'0';
        //String[] string = str.split(" ");
        int count = 1;
        for(int i = 0;i<c.length-1;i++){
            if(map.containsKey(c[i])){
                count = map.get(c[i])+1;
                map.put(c[i],count);
            }else map.put(c[i],1);
        }
        Set<Map.Entry<Character,Integer>> entrys = map.entrySet();
        Iterator<Map.Entry<Character,Integer>> it = entrys.iterator();
        while(it.hasNext()){
            Map.Entry<Character,Integer> entry = it.next();
            if(entry.getValue()==num){
                System.out.println(entry.getKey());
            }
        }
    }
}

发表于 2019-08-30 11:05:06 回复(0)