zoukankan      html  css  js  c++  java
  • 查找兄弟单词

    描述

    题目描述

    知识点 查找
    运行时间限制 10M
    内存限制 128
    输入

    先输入字典中单词的个数,再输入n个单词作为字典单词。
    输入一个单词,查找其在字典中兄弟单词的个数
    再输入数字n

    输出

    根据输入,输出查找到的兄弟单词的个数

    输出指定的第n个兄弟单词

    样例输入 3 abc bca cab abc 1
    样例输出 2 bca
    package com.oj5;
    
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Scanner;
    import java.util.Set;
    import java.util.TreeMap;
    import java.util.TreeSet;
    
    public class Oj {
    	public static void main(String[] args) {
    		Scanner in = new Scanner(System.in);
    		int num = in.nextInt();
    		in.nextLine();
    		String[] data = new String[num];
    		for(int i = 0;i < num; i++)
    			data[i] = in.nextLine();
    		String input = in.nextLine();
    		int inputNum = in.nextInt();
    		
    		int count = 0;
    		Set<String> set = new TreeSet<String>();
    		for(int i = 0;i < num; i++)
    			if(isBrother(data[i],input)){
    				count++;
    				set.add(data[i]);
    			}
    		
    		System.out.println(count);
    		
    		Iterator<String> iter = set.iterator();
    		int k = 0;
    		while(iter.hasNext()){
    			k++;
    			String value = iter.next();
    			if(k==inputNum)
    				System.out.println(value);
    		}
    		
    	}
    
    	private static boolean isBrother(String src, String input) {
    		//System.out.println("src: "+src+" "+input);
    		if(src.equals(input))
    			return false;
    		else if(src.length()!=input.length()){
    			return false;
    		}else{
    			Map<Character,Integer> mapSrc = new TreeMap<Character,Integer>();
    			Map<Character,Integer> mapInput = new TreeMap<Character,Integer>();
    			for(int i = 0;i < src.length(); i++)
    				if(mapSrc.containsKey(src.charAt(i))){
    					mapSrc.put(src.charAt(i),1+mapSrc.get(src.charAt(i)));
    				}else{
    					mapSrc.put(src.charAt(i), 1);
    				}
    			
    			for(int i = 0;i < input.length(); i++)
    				if(mapInput.containsKey(input.charAt(i))){
    					mapInput.put(input.charAt(i), 1+mapInput.get(input.charAt(i)));
    				}else{
    					mapInput.put(input.charAt(i), 1);
    				}
    			
    			//System.out.println("hi1: "+src);
    			for(Map.Entry<Character, Integer> srcEntry:mapSrc.entrySet()){
    				Character key = srcEntry.getKey();
    				int value2;
    				try{
    					 value2 = mapInput.get(key);
    				}catch(Exception e){
    					return false;
    				}
    				if(value2!=srcEntry.getValue())
    					return false;
    			}
    			//System.out.println("hi2: "+src);
    			for(Map.Entry<Character, Integer> inputEntry:mapInput.entrySet()){
    				Character key2 = inputEntry.getKey();
    				int value;
    				try{
    					value = mapSrc.get(key2);
    				}catch(Exception e){
    					return false;
    				}
    				//System.out.println(key2+" "+value);
    				if(value!=inputEntry.getValue())
    					return false;
    			}
    			//System.out.println("hi3: "+src);
    			return true;
    		}
    	}
    }
    

      

  • 相关阅读:
    Chrome cookies folder
    Fat URLs Client Identification
    User Login Client Identification
    Client IP Address Client Identification
    HTTP Headers Client Identification
    The Personal Touch Client Identification 个性化接触 客户识别
    购物车 cookie session
    购物车删除商品,总价变化 innerHTML = ''并没有删除节点,内容仍存在
    453
    购物车-删除单行商品-HTMLTableElement.deleteRow()
  • 原文地址:https://www.cnblogs.com/lxk2010012997/p/5411597.html
Copyright © 2011-2022 走看看