华为OJ——查找兄弟单词
来源:互联网 发布:单片机编程要学什么 编辑:程序博客网 时间:2024/05/22 13:55
输入描述:
先输入字典中单词的个数n,再输入n个单词作为字典单词。
再输入一个单词,查找其在字典中兄弟单词的个数m
再输入数字k
输出描述:
根据输入,输出查找到的兄弟单词的个数m
然后输出查找到的兄弟单词的第k个单词。
思路:
主要通过将两个字符串进行转换为数组类型,然后对两个数组进行自然排序(Arrays.sort()),进而判断两个数组是否相等(Arrays.equals(x,y)), 来得出是否是兄弟数组。
代码
package cn.c_shuang.demo27;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;import java.util.Scanner;/** * 查找兄弟单词 * @author Cshuang * */public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); while(in.hasNext()){ int cnt=in.nextInt(); String[] s=new String[cnt]; List<String>list=new ArrayList<String>(); for (int i = 0; i < cnt; i++) { s[i]=in.next(); } String key=in.next(); for (int i = 0; i < cnt; i++) { if(check(key,s[i])){ list.add(s[i]); } } System.out.println(list.size()); Collections.sort(list);//将list集合默认自然排序 int num=in.nextInt(); if(num<=list.size()){ System.out.println(list.get(num-1)); } } in.close(); } public static boolean check(String key, String str) { if(key.length()!=str.length()||key.equals(str)) return false; char[] keyChar=key.toCharArray();//将字符串转换为数组 char[] strChar=str.toCharArray(); Arrays.sort(keyChar);//将该字符数组默认自然排序 Arrays.sort(strChar); return Arrays.equals(keyChar,strChar);//比较两个字符数组是否相等 }}
阅读全文
0 0
- 华为OJ——查找兄弟单词
- 华为OJ——查找兄弟单词
- 【华为OJ】查找兄弟单词
- 华为oj 查找兄弟单词
- 华为OJ:查找兄弟单词
- 华为OJ-查找兄弟单词
- 华为OJ(查找兄弟单词)
- 华为OJ中级题-查找兄弟单词
- 【华为OJ】【073-查找兄弟单词】
- 【华为OJ】查找兄弟单词(未通过)
- 华为机试——查找兄弟单词
- 华为oj之兄弟单词
- 华为练习2 查找兄弟单词
- 华为机试---查找兄弟单词
- 华为机试-查找兄弟单词
- 华为OJ——单词倒排
- 华为OJ——单词倒排
- OJ中------兄弟单词
- 【机器学习】支持向量机
- iOS mac终端下的SQL语句
- 狐狸找兔子—php实现
- C++ Primer Plus p-189-6.14-cingolf.cpp
- Vue DevTools调试工具
- 华为OJ——查找兄弟单词
- BZOJ 2803: [Poi2012]Prefixuffix
- iOS UICollectionViewLayout
- idea创建项目步骤和遇到的问题登录代码
- ndk-jni初级入门
- 八、外观模式——设计模式学习笔记
- ubuntu修改用户名
- kafka集群搭建(使用外部zookeeper集群环境方式)
- 分治法实现快包java带界面,