当前位置: 首页 > article >正文

蓝桥杯基础算法-字符串与集合

对集合的考察集中在集合的特性和功能。

set-唯一性

list-有序性

集合元素的个数

思路分析:set的唯一性,取出重复的子串

eg:

下标0截取的范围:【0,最大下标】

下标1截取的范围:【1,最大下标】

......

-->截取的方法:subString(i,j) 截取子串

public class demo1{public static void main(String[] args){String string="0100110001010001";//set集合去重HashSet<Object> set=new HashSet<>();//控制从第几个下标开始截取for(int i=0;i<string.length();i++){for(int j=i;j<string.length();j++){String s=string.substring(i,j+1);set.add(s);}}System.out.println(set.size());}
}

小明发现了一个奇妙的数字。它的平方和立方正好把 0 ~ 9 的 10 个数字每个用且只用了一次。你能猜出这个数字是多少吗?

public class demo2{public static void main(String[] args){int i=1;while(true){int ping=i*i;int li=i*i*i;String string=""+ping+li;if(string.length()==10){char[] cs=string.toCharArray();for(int j=0;j<10;j++){set.add(cs[j]);}if(set.size()==10){//找到了System.out.println(i);break;}}i++;}}
}

注意事项:

在Java代码String string = ""+ping + li;中,空字符串""的位置会影响运算逻辑:

  1. ""放在前面时(如示例代码): 会强制将后续的pingli直接转为字符串并拼接。 例如,ping=69(平方),li=328509(立方),结果为"69328509",正确保留原始数值的每一位。
  2. ""放在后面时(如ping + li + ""): 若pingli是数值类型,会先进行算术加法,再转字符串。 例如,ping=69li=328509,会计算69+328509=328578,结果为"328578",完全丢失平方和立方的独立数字信息。

结论:题目需要拼接平方和立方的完整数字字符串(而非数值和),因此必须将""放在前面,确保两者独立转为字符串后再拼接。这是实现数字谜题算法的关键细节。

循环求质数:

1.质数就是只能被1和它本身整除的数字,最小的质数是2

2.如何判断一个数字n是不是为质数--->找一下[2,n-1]有没有能被n整除的数字,有就不是质数

3.整除->n对数字取余为0

思路分析:可以先求质数,把所有的质数放入一个list集合中,取出下标为2022的,就是第2023个质数

public class demo3{public static void main(String[] args){ArrayList<Object>list=new ArrayList<>();for(int i=2;i<=20000;i++){int a=0;//记录有没有除了1和它本身之外可以整除的数字for(int j=2;j<i;j++){if(i%j==0){a++;break;//只要找到一个可以被整除的就退出内层循环,提高运算效率}}if(a==0){list.add(i);}}System.out.println(list.get(2022));}
}

相关文章:

蓝桥杯基础算法-字符串与集合

对集合的考察集中在集合的特性和功能。 set-唯一性 list-有序性 集合元素的个数 思路分析&#xff1a;set的唯一性&#xff0c;取出重复的子串 eg&#xff1a; 下标0截取的范围&#xff1a;【0&#xff0c;最大下标】 下标1截取的范围&#xff1a;【1&#xff0c;最大下标…...

animals_classification动物分类

数据获取 深度学习训练中第一个是获取数据集&#xff0c;数据集的质量很重要&#xff0c;我们这里做的是动物分类&#xff0c;大致会选择几个动物&#xff0c;来做一个简单的多分类问题&#xff0c;数据获取的方法&#xff0c;鼠鼠我这里选择使用爬虫的方式来对数据进行爬取&a…...

对解释器模式的理解

对解释器模式的理解 一、场景1、题目【[来源](https://kamacoder.com/problempage.php?pid1096)】1.1 题目描述1.2 输入描述1.3 输出描述1.4 输入示例1.5 输出示例 二、不采用解释器模式1、代码2、“缺点” 三、采用解释器模式1、代码2、“优点” 四、思考1、解释器模式的意义…...

解决Oracle PL/SQL中“表或视图不存在“错误的完整指南

解决Oracle PL/SQL中"表或视图不存在"错误的完整指南 前言问题概述根本原因分析一、 编译时与运行时验证差异二、权限问题三、 Schema命名问题 实际案例演示案例1&#xff1a;动态分表查询案例2&#xff1a;权限不足的场景 实用排查步骤排查流程图最佳实践建议解决方…...

【Kubernetes】StorageClass 的作用是什么?如何实现动态存储供应?

StorageClass 使得用户能够根据不同的存储需求动态地申请和管理存储资源。 StorageClass 定义了如何创建存储资源&#xff0c;并指定了存储供应的配置&#xff0c;例如存储类型、质量、访问模式等。为动态存储供应提供了基础&#xff0c;使得 Kubernetes 可以在用户创建 PVC 时…...

linux如何查看当前系统的资源占用情况

在 Linux 系统中&#xff0c;有多个命令可以查看当前系统的资源占用情况。以下是一些常用的命令及其说明&#xff1a; 1. 查看内存使用情况&#xff1a;free free -h-h 参数表示以人类可读的格式显示&#xff08;如 MB, GB&#xff09;。输出示例&#xff1a; to…...

Arduino示例代码讲解:Row-Column Scanning an 8x8 LED matrix with X-Y input LED矩阵

Arduino示例代码讲解:Row-Column Scanning an 8x8 LED matrix with X-Y input LED矩阵 Row-Column Scanning an 8x8 LED matrix with X-Y input LED矩阵功能概述硬件部分:软件部分:代码逐行解释定义常量定义变量`setup()` 函数`loop()` 函数`readSensors()` 函数`refreshScr…...

SSH远程连接服务器(cursor)

安装Remote-SSH插件 Cursor是基于VSCode的&#xff0c;因此支持VSCode的Remote-SSH功能。打开Cursor&#xff0c;进入扩展市场&#xff08;左侧活动栏的“Extensions”图标&#xff09;。搜索“Remote - SSH”插件并安装&#xff08;由Microsoft提供&#xff09;。 配置SSH 在…...

笔记:docker安装(ubuntu 20.04)

sudo apt update #sudo&#xff1a;以 超级用户权限 运行命令。apt update&#xff1a;更新 APT 软件包管理器 的软件源列表&#xff0c;确保安装的是最新版本的软件。sudo apt install docker.io -y #apt install docker.io&#xff1a;安装 Docker&#xff1b; -y&#x…...

idea gitlab 操作

1.拉取脚本 账号登录 就可以获取git代码 2. 版本回退 hard暴力回退到暂存区 缓存区消失 3.版本合并 切换到目标分区 选择点击开发分区 进行合并...

【MATLAB第113期】基于MATLAB的EFAST扩展傅里叶幅度敏感性分析方法(有目标函数)

【MATLAB第113期】基于MATLAB的EFAST扩展傅里叶幅度敏感性分析方法&#xff08;有目标函数&#xff09; 一、方法概述 扩展傅里叶幅度敏感性检验&#xff08;EFAST&#xff09;是一种基于频域分析的全局敏感性分析方法&#xff0c;能够同时评估模型参数的一阶敏感性&#xff…...

REST 方法

FUNCTION ZFM_INTERFACE_LOG. *"---------------------------------------------------------------------- *"*"本地接口&#xff1a; *" IMPORTING *" REFERENCE(IV_DSTART) TYPE EDI_UPDDAT *"---------------------------------------…...

labelme json 标签转yolo txt【记录】

01 labelme json 转 txt&#xff08;w_convert_labelme_to_yolo.py&#xff09; #WT 将labelme json标签格式转换为YOLO txt格式 # 导入所需模块 import cv2 # OpenCV用于图像处理 import os # 操作系统路径管理 import json # JSON文件解析 import glob # 文件通配符搜索…...

Unity3D开发AI桌面精灵/宠物系列 【三】 语音识别 ASR 技术、语音转文本多平台 - 支持科大讯飞、百度等 C# 开发

Unity3D 交互式AI桌面宠物开发系列【三】ASR 语音识别 该系列主要介绍怎么制作AI桌面宠物的流程&#xff0c;我会从项目开始创建初期到最终可以和AI宠物进行交互为止&#xff0c;项目已经开发完成&#xff0c;我会仔细梳理一下流程&#xff0c;分步讲解。 这篇文章主要讲有关于…...

Qt -信号与槽

博客主页&#xff1a;【夜泉_ly】 本文专栏&#xff1a;【暂无】 欢迎点赞&#x1f44d;收藏⭐关注❤️ 目录 前言引入connect调用链模板类型的connectQObject::connectImplQObjectPrivate::connectImpl qobject_p_p.hconnect作用总结ai对信号与槽的模拟实现 前言 面向对象&am…...

深度解析新能源汽车研发测试中的关键信号采集技术

摘要 随着新能源汽车的快速发展&#xff0c;研发测试环节对信号采集的需求日益复杂。本文结合行业前沿技术方案&#xff0c;系统梳理了新能源汽车测试中需要关注的核心信号类型、采集方法及技术难点&#xff0c;涵盖高压电气、动力电池、热管理、智能驾驶、网络通信等全维度数据…...

Django中使用不同种类缓存的完整案例

Django中使用不同种类缓存的完整案例 推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 Django中使用不同种类缓存的完整案例步骤1:设置Django项目步骤2:设置URL路由步骤3:视图级别…...

Linux 高级命令与常见操作:文本处理、系统管理与网络调试

下面是一份针对已经熟悉 Linux 基础命令的用户所整理的「高级命令与常见操作」笔记&#xff0c;涵盖文本处理、系统管理、网络调试与其他常用的进阶技巧。请你审核下面笔记&#xff0c;检查是否有过时的内容&#xff0c;如有请进行替换&#xff0c;确保其符合现代化需求&#x…...

解锁健康密码,拥抱品质生活

在生活节奏不断加快的今天&#xff0c;健康养生已成为人们关注的焦点。它不仅关乎当下生活质量&#xff0c;更是对未来幸福的投资。从日常生活的点滴出发&#xff0c;掌握正确养生方法&#xff0c;我们就能轻松收获健康。​ 饮食是健康的基石。我们应当遵循 “食物多样&#x…...

TLS 1.2 握手过程,每个阶段如何保证通信安全?​​

TLS 1.2 握手是确保客户端和服务器之间安全通信的关键过程。它涉及多个步骤&#xff0c;包括身份验证、加密算法协商和会话密钥交换。 目录 TLS 1.2 握手是确保客户端和服务器之间安全通信的关键过程。它涉及多个步骤&#xff0c;包括身份验证、加密算法协商和会话密钥交换。…...

ABAP 新语法 - corresponding

在 ABAP 中&#xff0c;CORRESPONDING 操作符用于根据字段名称自动映射结构体&#xff08;Structure&#xff09;或内表&#xff08;Internal Table&#xff09;的字段值。它比传统的 MOVE-CORRESPONDING 语句更灵活&#xff0c;支持更多控制选项。 基础用法 data: begin of …...

C++ 中为什么构造函数不需要实现虚函数,而析构函数需要?

在C中&#xff0c;构造函数不需要是虚函数&#xff0c;而析构函数往往需要&#xff0c;原因如下&#xff1a; 构造函数 对象创建顺序&#xff1a;构造函数的主要任务是初始化对象的成员变量&#xff0c;创建对象时需要先调用基类的构造函数&#xff0c;再调用派生类的构造函数…...

vscode使用方式

一、常用快捷键与代码操作 注释与代码排版 行注释&#xff1a;Ctrl /&#xff1b;块注释&#xff1a;Shift Alt A。 代码缩进&#xff1a;选中代码段后按 Tab&#xff08;右移&#xff09;或 Shift Tab&#xff08;左移&#xff09;。 代码导航与编辑 快速跳转文件&…...

存储模块cache

参考&#xff1a;存储模块 --- Cache_cache模块-CSDN博客 一级缓存&#xff08;L1 Cache&#xff09; 和 二级缓存&#xff08;L2 Cache&#xff09; 都是处理器内的高速缓存&#xff0c;用来减少访问主内存的延迟&#xff0c;提高处理器的性能。它们在计算机体系结构中发挥着…...

HTML零基础入门笔记:狂神版

前言 本笔记是学习狂神的java教程&#xff0c;建议配合视频&#xff0c;学习体验更佳。 【狂神说Java】HTML5完整教学通俗易懂_哔哩哔哩_bilibili 第1-2章&#xff1a;Java零基础入门笔记&#xff1a;(1-2)入门&#xff08;简介、基础知识&#xff09;-CSDN博客 第3章&…...

java.util.Collections中常用api

在Java中&#xff0c;java.util.Collections 是一个工具类&#xff0c;提供了大量静态方法用于操作或返回集合&#xff08;如List、Set、Map等&#xff09;。以下是常用的API分类整理&#xff1a; 1. 排序与顺序操作 sort(List<T> list) 对List进行自然顺序排序&#xff…...

FreeRTOS移植笔记:让操作系统在你的硬件上跑起来

一、为什么需要移植&#xff1f; FreeRTOS就像一套"操作系统积木"&#xff0c;但不同硬件平台&#xff08;如STM32、ESP32、AVR等&#xff09;的CPU架构和外设差异大&#xff0c;需要针对目标硬件做适配配置。移植工作就是让FreeRTOS能正确管理你的硬件资源。 二、…...

c语言修炼秘籍 - - 禁(进)忌(阶)秘(技)术(巧)【第五式】动态内存管理

c语言修炼秘籍 - - 禁(进)忌(阶)秘(技)术(巧)【第五式】动态内存管理 【心法】 【第零章】c语言概述 【第一章】分支与循环语句 【第二章】函数 【第三章】数组 【第四章】操作符 【第五章】指针 【第六章】结构体 【第七章】const与c语言中一些错误代码 【禁忌秘术】 【第一式…...

树莓派超全系列教程文档--(22)使用外部存储设备的相关操作

使用外部存储设备的相关操作 外部存储设备相关操作安装存储设备设置自动挂载卸载存储设备处理 target is busy 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 外部存储设备相关操作 您可以将外部硬盘、SSD或U盘连接到Raspberry Pi上的任何USB端…...

MySQL表的增删改查基础版

这一部分内容比较多&#xff0c;请大家结合目录查看&#x1f440; 增删改查 这一部分内容比较多&#xff0c;请大家结合目录查看&#x1f440; 一、新增1.插入2.指定列插入3.一次插入多行记录 二、查询1.全列查询2.指定列查询3.查询字段为表达式4.别名5.去重6.多列去重7.排序8.…...