【算法】笨小猴

news2024/11/24 9:13:51

[NOIP2008]笨小猴_牛客题霸_牛客网

【描述】

eg1中,输入“error”

“e”出现了1次,“r”出现了3次,“o”出现了1次

最大是3,最小是1,3-1=2,2是质数,所以输出“Lucky word”和这个单词

eg2中,输入“Olympic”

所有单词都出现了1次,最大和最小都是1,1-1=0,0不是质数,输出“No Answer”和这个单词

分析

解法:模拟+哈希表(统计每个字符出现的个数)+试除法判断质数

思路:统计单词中每个字符出现的次数时,使用数组模拟的哈希表(大小为int[26]),然后在哈希表中找出次数的最大值和最小值

注意:考虑最小值不要考虑0,因为0代表没有出现过

找到这两个数后,将两个数相减,用得到的判断是否为质数(使用试除法)

试除法:从2开始一直循环到根号n,一个一个来除,若n%这个数==0,说明不是质数,如果所有数都模完结果都!=0,说明这是质数

代码

import java.util.Scanner;
public class Main
{

    public static boolean ispirm(int n)
    {
        if(n < 2) return false;
        for(int i = 2;i <= Math.sqrt(n);i++)
        {
            if(n % i == 0) return false;
        }
        return true;
    }
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        char[] s = in.next().toCharArray();

        int[] hash = new int[26];
        for(int i = 0;i < s.length;i++)
        {
            hash[s[i] - 'a']++; //减去字符a是为了判断下标的映射关系
        }

        int maxn = 0,minn = 1000;
        for(int i = 0;i < 26;i++)
        {
            if(hash[i] != 0)
            {
                minn = Math.min(minn, hash[i]);
                maxn = Math.max(maxn, hash[i]);
            }
        }
        if(ispirm(maxn - minn))
        {
            System.out.println("Lucky Word");
            System.out.println(maxn - minn);
        }else
        {
            System.out.println("No Answer");
            System.out.println(0);
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2212566.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Oracle数据库进阶】003.SQL基础查询_增、删、改数据

课 程 推 荐我 的 个 人 主 页&#xff1a;&#x1f449;&#x1f449; 失心疯的个人主页 &#x1f448;&#x1f448;入 门 教 程 推 荐 &#xff1a;&#x1f449;&#x1f449; Python零基础入门教程合集 &#x1f448;&#x1f448;虚 拟 环 境 搭 建 &#xff1a;&#x1…

【基于ARM深入分析C程序】1--ARM架构与汇编、分析C语句`a++`的执行过程

【基于ARM深入分析C程序】1–ARM架构与汇编、分析C语句a的执行过程 文章目录 【基于ARM深入分析C程序】1--ARM架构与汇编、分析C语句a的执行过程一、3个操作指令二、CPU是怎么知道执行这三条操作指令的&#xff1f;2.1 CPU的架构 2.2 寄存器 本文作为学习笔记&#xff0c;围绕的…

【ARM】v8架构programmer guide(6)_MMU内存管理模块

快进到内存管理模块吧&#xff0c;其他的后面再补充~ 目录 1.1 TLB (Translation Lookaside Buffer) 1.2 Kernel 和 Application 虚拟地址空间 1.3 转换虚拟地址到物理地址 1.3.1 安全和非安全地址空间 1.3.2 配置和使能MMU 1.3.3 当MMU没有使能的时候 1.4 ARMv8-A的页…

6.2 遍历重定位表

本节我们将编写一个遍历重定位表的示例程序&#xff0c;打印重定位表。 本节必须掌握的知识点&#xff1a; 遍历重定位表 6.2.1 遍历重定位表 实验四十三&#xff1a;遍历重定位表 以下代码实现打印"c:\\notepad64.exe"进程重定位表的所有信息。 /*--------------…

衡石分析平台系统-分析人员手册

应用创建​ 用户可以通过多种方式创建应用&#xff0c;不同场景下应用创建方法不同。 新建空白应用​ 新建空白应用是新建一个空的应用&#xff0c;应用中没有数据集和仪表盘。 点击应用创作页面右上方的新建应用&#xff0c;新建空白的分析应用和查询应用。 新建的空白应用…

记录一下,android studio 登录不上github的问题

android studio 2023.3.1.18 版本的编译器&#xff0c;出现问题&#xff0c;之前连接过的项目可以正常提交和拉取到github。 但是新建立的项目无法上传到github&#xff0c;提示错误cannot load information for github.com/:request response;access to this site&#xff0c;…

log4j2实际项目中使用

一 添加依赖 <!--移除spring-boot中默认的logback日志组件--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><groupId>org.spring…

实验9 结构体

1、商品信息处理 【问题描述】 设计结构体&#xff0c;用于存储商品的信息&#xff0c;包含商品编号、商品名称、商品价格以及商品折扣信息。 设计函数input&#xff0c;实现商品数据的输入。 设计函数display&#xff0c;实现商品信息的输出。 在主函数main中定义keyboar…

国外解压视频素材哪里找?五个海外解压视频素材网站推荐

国外解压视频素材哪里找&#xff1f;五个海外解压视频素材网站推荐 如果你正在寻找国外的解压视频素材&#xff0c;那么今天这篇文章一定能帮助你。无论是修牛蹄、洗地毯&#xff0c;还是切肥皂、玩解压游戏等&#xff0c;下面分享的几个网站都是你找到高质量海外解压视频素材…

信息抽取数据集处理——RAMS

引言 RAMS数据集&#xff08;RAMS&#xff1a;Richly Annotated Multilingual Schema-guided Event Structure&#xff09;由约翰斯霍普金斯大学于2020年发布&#xff0c;是一个以新闻为基础的事件抽取数据集。它标注了9,124个事件&#xff0c;涵盖了139种不同的事件类型和65种…

celery 项目中mysql 数据库连接数耗尽事故记录

python 项目中使用 celery 中导致mysql数据库连接耗尽记录【mysql数据库连接池使用错误】 结论&#xff1a;由于使用 celery 进行项目的多任务管理&#xff0c;在worker任务定义的过程中&#xff0c;使用了 dbutils 中的 PooledDB 连接池进行 mysql数据库连接&#xff0c; 因此…

IO密集型任务及Vertx框架入门

注意&#xff1a; 本文内容于 2024-10-02 02:25:47 创建&#xff0c;可能不会在此平台上进行更新。如果您希望查看最新版本或更多相关内容&#xff0c;请访问原文地址&#xff1a;IO密集型任务及Vertx框架入门。感谢您的关注与支持&#xff01; 一、背景 1.1 铺垫知识 涉及到…

C++入门基础知识112—【关于C++嵌套 switch 语句】

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///C爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于C嵌套 switch 语句的相关内容&#xff…

C++20中头文件numbers的使用

<numbers>是C20中新增加的头文件&#xff0c;提供一组常量用于表示数学中的某些特殊值&#xff0c;此头文件是numeric库的一部分。包括&#xff1a; 1. 圆周率π:std::numbers::pi、std::numbers::pi_v<T> 2. 圆周率π的倒数&#xff1a;numbers::inv_pi、std::num…

灵当CRM data/pdf.php 任意文件读取漏洞复现

0x01 产品简介 灵当CRM是一款专为中小企业打造的智能客户关系管理工具,由上海灵当信息科技有限公司开发并运营。广泛应用于金融、教育、医疗、IT服务、房地产等多个行业领域,帮助企业实现客户个性化管理需求,提升企业竞争力。无论是新客户开拓、老客户维护,还是销售过程管…

软件开发----SQL基础每日刷题(转载于牛客)

1. 查询语句select stuff(lo ina,3, 1, ve ch)结果为&#xff1f; A love B love china C china love D china 正确答案&#xff1a;B 解析&#xff1a; STUFF(原字符, 开始位置, 删除长度, 插入字符) 从指定的起点处开始删除指定长…

六tomcat

​​​​​​ Java Web环境搭建 1. 初识Tomcat Tomcat 服务器是一个免费的开放源代码的Web 应用服务器&#xff0c;属于轻量级应用服务器&#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用&#xff0c;是开发和调试JSP 程序的首选。Tomcat 是 Apache 服务器…

redis集成到spring boot中使用

&#xff08;一&#xff09;添加依赖 redis服务器在官网中公开了自己使用的协议--RESP&#xff0c;所以我们可以使用这个协议来访问redis服务器&#xff0c;但是如果我们要自己实现库&#xff0c;那肯定是非常麻烦的&#xff0c;所以我们可以使用网上的库&#xff0c;我们直接调…

读数据工程之道:设计和构建健壮的数据系统08主要架构概念

1. 域和服务 1.1. 域是你正在为其构建的现实世界主题区域 1.2. 服务是一组功能&#xff0c;其目标是完成一项任务 1.3. 一个域可以包含多个服务 1.4. 确定领域中应包含的内容 1.4.1. 确定领域应该包含什么以及要包括哪些服务时&#xff0c;最好的建议是简单地去与用户和利益…

SQLAlchemy入门:详细介绍SQLAlchemy的安装、配置及基本使用方法

SQLAlchemy是一个流行的Python SQL工具包和对象关系映射&#xff08;ORM&#xff09;框架&#xff0c;它为开发人员提供了一种高效、灵活的方式来与数据库进行交互。本文将详细介绍SQLAlchemy的安装、配置及基本使用方法&#xff0c;并通过代码示例和案例分析&#xff0c;帮助新…