博客
关于我
P1125 [NOIP2008 提高组] 笨小猴 (Java)
阅读量:393 次
发布时间:2019-03-05

本文共 1634 字,大约阅读时间需要 5 分钟。

为了解决这个问题,我们需要判断给定的单词是否为“Lucky Word”,即单词中出现次数最多的字母和出现次数最少的字母出现次数的差值是否为质数。我们将通过统计各个字母的出现次数并检查差值是否为质数来实现这一点。

方法思路

  • 统计字母出现次数:我们使用一个长度为26的数组来统计每个字母的出现次数。
  • 找出最大值和最小值:遍历该数组找到出现次数最多(maxn)和出现次数最少(minn)的值。注意,字母未出现的位置会被认为是出现次数0。
  • 计算差值并检查是否为质数:计算maxn和minn的差值,检查该差值是否为质数。如果是,则单词为“Lucky Word”;否则,则输出“No Answer”。
  • 解决代码

    import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        String s = sc.nextLine();        int[] counts = new int[26];        for (int i = 0; i < s.length(); i++) {            counts[s.charAt(i) - 'a']++;        }        int max = -1, min = 99999;        for (int i = 0; i < 26; i++) {            if (counts[i] > max) {                max = counts[i];            }            if (counts[i] < min) {                min = counts[i];            }        }        int difference = max - min;        boolean isPrime = false;        if (difference >= 2) {            isPrime = true;            for (int i = 2; i < difference; i++) {                if (difference % i == 0) {                    isPrime = false;                    break;                }            }        }        if (isPrime) {            System.out.println("Lucky Word");            System.out.println(difference);        } else {            System.out.println("No Answer");            System.out.println(0);        }    }}

    代码解释

  • 读取输入:使用Scanner读取输入的单词。
  • 统计字母出现次数:通过遍历单词的每个字符,更新计数器数组counts,记录每个字母的出现次数。
  • 初始化max和min:最大值初始化为-1,最小值初始化为99999,然后遍历计数器数组,找出实际的最大值和最小值。
  • 计算差值:计算max和min的差值,并检查该差值是否为质数。
  • 输出结果:如果差值为质数,输出“Lucky Word”和差值;否则,输出“No Answer”和0。
  • 这个方法确保了我们能够正确判断单词是否为“Lucky Word”,并高效地处理输入和统计操作。

    转载地址:http://sdtzz.baihongyu.com/

    你可能感兴趣的文章
    abp(net core)+easyui+efcore实现仓储管理系统——入库管理之八(四十四)
    查看>>
    WCF学习之旅—第三个示例之一(二十七)
    查看>>
    java ThreadPoolExecutor初探
    查看>>
    Markdown进阶
    查看>>
    快速指数算法
    查看>>
    python去除字符串中的特殊字符(爬虫存储数据时会遇到不能作为文件名的字符串)
    查看>>
    PHP将网址快捷方式保存到桌面
    查看>>
    SpringCloud微服务(03):Hystrix组件,实现服务熔断
    查看>>
    Spring 框架基础(01):核心组件总结,基础环境搭建
    查看>>
    JavaEE基础(02):Servlet核心API用法详解
    查看>>
    SpringBoot2 整合Nacos组件,环境搭建和入门案例详解
    查看>>
    结构与算法(03):单向链表和双向链表
    查看>>
    Hadoop框架:MapReduce基本原理和入门案例
    查看>>
    ThreadPoolExecutor线程池任务执行失败的时候会怎样
    查看>>
    Sentry快速开始并集成钉钉群机器人
    查看>>
    Docker 服务
    查看>>
    第一眼就心动的人还怎么做朋友
    查看>>
    Cassandra数据建模
    查看>>
    Elasticsearch Web管理工具
    查看>>
    Git 配置SSH公钥、私钥
    查看>>