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

【蓝桥杯备战】Day 1

1.基础题目

LCR 018.验证回文串

给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。

本题中,将空字符串定义为有效的 回文串 

示例 1:

输入: s = "A man, a plan, a canal: Panama"
输出: true
解释:"amanaplanacanalpanama" 是回文串

示例 2:

输入: s = "race a car"
输出: false
解释:"raceacar" 不是回文串

提示:

  • 1 <= s.length <= 2 * 105
  • 字符串 s 由 ASCII 字符组成

分析:

        本题目主要考察回文串判断,所谓回文串:就是从右向左和从左向右遍历的字符完全相等

        对此,我采用双指针法,两个指针分别为 i 和 j ,从左右同时出发,i=0,j=s.length()-1;

        在这里还要进行的是有效字符判断,题目要求字母与数字为有效字符且不区分大小写,对于条件的判断为:

  • 字母与数字为有效字符 Character.isLetterOrDigit()
  • 全部字母转小写Character.toLowerCase()

        除此之外题目还要求空串也为回文串,在程序开始要加上判断条件

注意

  • 判断字符串是否相等采用A.equals(B)
  • 判断字符或者数字表达式是否相等采用==

        当字符串中遇到非有效数字,采用while循环直到找到有效字符,当左右都为有效字符才能进行比较

        这里要注意在内循环寻找有效字符也要进行 i < j 的判断,防止进来时候符合,在寻找有效字符时超过范围

代码:

class Solution {public boolean isPalindrome(String s) {if (s.equals("")) {return true;}int i = 0;int j = s.length() - 1;while (i < j) {while (i < j && !Character.isLetterOrDigit(s.charAt(i))) {i++;}while (i < j && !Character.isLetterOrDigit(s.charAt(j))) {j--;}if (Character.toLowerCase(s.charAt(i)) != Character.toLowerCase(s.charAt(j))) {return false;}i++;j--;}return true;}
}

 🌟基础题目地址:LCR 018. 验证回文串 - 力扣(LeetCode)

2.进阶题目: 

118.杨辉三角

给定一个非负整数 numRows生成「杨辉三角」的前 numRows 行。

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

示例 1:

输入: numRows = 5
输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

示例 2:

输入: numRows = 1
输出: [[1]]

提示:

  • 1 <= numRows <= 30

分析:

首先观察返回值要返回一个二维数组List<List<Integer>>,那么首先要生成二维数组用于存储,二维数组可以看成每个元素存储一个数组的一维数组

因此,我采用一行一行进行填充,首行为一个1元素,从第二行开始,每一行相当于第一个元素为1,最后一个元素为1,中间元素为上一行上方元素与左上方元素之和,采用add方法先将元素填充至curRow再把整个数组填充至triangle。

存储上一行元素这里用到了一个新数组prevrow[],这个数组的值采用二维数组上一个元素,这个地方有些难以理解,但实质使用起来却很简单。 

List类中获得元素采用get方法,添加采用add方法

代码:

class Solution {public List<List<Integer>> generate(int numRows) {List<List<Integer>> triangle=new ArrayList();List<Integer> Firstrow=new ArrayList();Firstrow.add(1);triangle.add(Firstrow);int i=1;while(i<numRows){List<Integer> curRow=new ArrayList();curRow.add(1);List<Integer> prevRow=triangle.get(i-1);for(int j=1;j<i;j++){curRow.add(prevRow.get(j-1)+prevRow.get(j));}curRow.add(1);triangle.add(curRow);i++;}return triangle;}
}

118. 杨辉三角 - 力扣(LeetCode)🌟进阶题目地址:118. 杨辉三角 - 力扣(LeetCode)

相关文章:

【蓝桥杯备战】Day 1

1.基础题目 LCR 018.验证回文串 给定一个字符串 s &#xff0c;验证 s 是否是 回文串 &#xff0c;只考虑字母和数字字符&#xff0c;可以忽略字母的大小写。 本题中&#xff0c;将空字符串定义为有效的 回文串 。 示例 1: 输入: s "A man, a plan, a canal: Panama…...

FedAdam算法:供给方信用,数据质量;更新一致性

FedAdam算法:供给方信用,数据质量;更新一致性 FedAdam算法概述 FedAdam是一种联邦学习(Federated Learning)算法。联邦学习是一种机器学习技术,它允许在多个设备或数据中心(称为客户端)上训练模型,而无需将数据集中到一个中央服务器,从而保护数据隐私。FedAdam主要用于…...

内存卡格式化后的数据恢复全攻略

一、内存卡格式化简述 内存卡&#xff0c;作为现代电子设备中不可或缺的存储媒介&#xff0c;广泛应用于手机、相机、行车记录仪等各类设备中。然而&#xff0c;在使用过程中&#xff0c;我们可能会遇到内存卡需要格式化的情况。格式化是一种将内存卡上的所有数据和文件系统清…...

介绍交叉熵损失(Cross-Entropy Loss)以及交叉熵在对比学习中的应用:中英双语

中文版 本文解释 交叉熵损失&#xff08;Cross-Entropy Loss&#xff09;&#xff0c;并结合对比学习的应用说明它如何工作&#xff0c;以及如何让正样本对更近、负样本对更远。 什么是交叉熵损失&#xff1f; 交叉熵损失是机器学习中常用的一种损失函数&#xff0c;主要用于…...

RabbitMQ的几个概念

注&#xff1a;这篇文章会随时添加新的内容&#xff0c;就是将RabbtiMQ中的概念添加到这里。助力大家的学习 自动ACK和手动ACK的区别 自动ACK和手动ACK是消息队列中两种不同的消息确认机制&#xff0c;它们在消息处理的可靠性和灵活性方面存在显著差异。 自动ACK&#xff08…...

Ollama部署大模型并安装WebUi

Ollama用于在本地运行和部署大型语言模型(LLMs)的工具,可以非常方便的部署本地大模型 安装 Linux curl -fsSL https://ollama.com/install.sh | sh我是ubuntu系统安装,其他系统可以看项目的开源地址有写 GitHub - ollama/ollama: Get up and running with Llama 3, Mist…...

Debedium如何忽略Oracle的purge命令

报错 截至目前3.0版本&#xff0c;Debezium的Oracle Connector并不支持purge table这个指令。 所以&#xff0c;在使用Debezium解析Oracle变更的时候&#xff0c;如果在源端执行了类似 purge table "$BIN… 的语句&#xff0c;就会导致Debezium罢工&#xff0c;日志里显…...

PlantUML 语言

PlantUML 是一种开源工具&#xff0c;用于通过简单的文本描述生成 UML 图。它支持多种 UML 图类型&#xff0c;如类图、序列图、用例图、活动图、组件图、状态图等。PlantUML 语言非常简洁&#xff0c;采用类似编程语言的语法&#xff0c;允许用户使用文本定义模型&#xff0c;…...

linux的 .so和.ko文件分别是什么?主要区别是什么?

前言&#xff1a; .so和.ko文件的主要区别在于它们的应用层次和功能不同。‌ 应用层次 .so文件‌&#xff1a;这是用户层的动态链接库&#xff08;Shared Object&#xff09;&#xff0c;主要用于用户态的程序中。 它用于动态链接&#xff0c;多个程序可以共享同一个库文件&…...

XX服务器上的npm不知道咋突然坏了

收到同事的V&#xff0c;说是&#xff1a;182上的npm不知道咋突然坏了&#xff0c;查到这里了&#xff0c;不敢动了。 咱一定要抓重点&#xff1a;突然坏了。这里的突然肯定不是瞬间&#xff08;大概率是上次可用&#xff0c;这次不可用&#xff0c;中间间隔了多长时间&#x…...

数据结构(优先级队列 :Priority Queue)

前言&#xff1a; 在计算机科学中&#xff0c;队列是一种非常常见的数据结构&#xff0c;它遵循先进先出&#xff08;FIFO&#xff09;的原则&#xff0c;也就是说&#xff0c;先进入队列的元素会先被处理。然而&#xff0c;在许多实际应用中&#xff0c;我们不仅仅需要按顺序…...

nginx.conf 请求时间部分参数说明新手教程

下面来说下nginx.conf 的部分参数&#xff0c;配置如下&#xff1a; http {include mime.types;default_type application/octet-stream;client_max_body_size 1000M;#log_format main $remote_addr - $remote_user [$time_local] "$request" # …...

【Linux-ubuntu通过USB传输程序点亮LED灯】

Linux-ubuntu通过USB传输程序点亮LED灯 一,初始化GPIO配置1.使能时钟2.其他寄存器配置 二&#xff0c;程序编译三&#xff0c;USB传输程序 一,初始化GPIO配置 1.使能时钟 使能就是一个控制信号&#xff0c;用于决定时钟信号是否能够有效的传递或者被使用&#xff0c;就像一个…...

《开源时间序列数据:探索与应用》

《开源时间序列数据&#xff1a;探索与应用》 一、开源时间序列数据概述二、热门的开源时间序列数据库1. InfluxDB2. TimescaleDB3. Prometheus4. OpenTSDB5. Graphite6. Druid 三、开源时间序列数据的应用场景1. 物联网领域2. 金融领域3. 运维监控领域4. 能源领域 四、开源时间…...

三相异步电动机跳闸的原因是什么?

三相异步电动机是现代工业生产和日常生活中广泛应用的一种电动机&#xff0c;因其结构简单、维护方便和功率范围广泛而受到广泛青睐。然而&#xff0c;在实际使用过程中&#xff0c;电动机的跳闸现象时有发生&#xff0c;这不仅影响了设备的正常运行&#xff0c;甚至可能导致经…...

连续思维链Coconut ,打开LLM推理新范式

语言与推理之间有着什么样内涵上的联系与本质上的差别&#xff1f; 系统二的长链复杂分步推理与系统一分别在训练时与推理时的正/反向传播链路、模型神经网络内部的潜在机制(虽然是黑盒)以及网络链路对应的模型训练过程中“压缩”的数据(认知)流形所映射出的隐含碎片化泛化分布…...

阿里云数据库MongoDB版助力极致游戏高效开发

客户简介 成立于2010年的厦门极致互动网络技术股份有限公司&#xff08;以下简称“公司”或“极致游戏”&#xff09;&#xff0c;是一家集网络游戏产品研发与运营为一体的重点软件企业&#xff0c;公司专注于面向全球用户的网络游戏研发与运营。在整个产业链中&#xff0c;公…...

ESP32-S3模组上跑通ES8388(29)

接前一篇文章:ESP32-S3模组上跑通ES8388(28) 二、利用ESP-ADF操作ES8388 2. 详细解析 上一回解析到了es8388_init函数中的第11段也是最后一段代码,没有解析完,本回继续解析。为了便于理解和回顾,再次贴出该片段,在components\audio_hal\driver\es8388\es8388.c中,如下…...

使用ElasticSearch实现全文检索

文章目录 全文检索任务描述技术难点任务目标实现过程1. java读取Json文件&#xff0c;并导入MySQL数据库中2. 利用Logstah完成MySQL到ES的数据同步3. 开始编写功能接口3.1 全文检索接口3.2 查询详情 4. 前端调用 全文检索 任务描述 在获取到数据之后如何在ES中进行数据建模&a…...

通过k-means对相似度较高的语句进行分类

本文介绍了如何使用K-Means算法对相似度较高的语句进行分类&#xff0c;并附上java案例代码 import java.util.ArrayList; import java.util.List; import java.util.Random;public class KMeansTextClustering {public static void main(String[] args) {// 初始化语句数据集…...

别再混淆了!FFmpeg提取AAC/H264流时常见的3个容器格式误区

别再混淆了&#xff01;FFmpeg提取AAC/H264流时常见的3个容器格式误区 第一次用FFmpeg提取音频时&#xff0c;我把.m4a文件直接重命名为.aac&#xff0c;结果播放器报错——这个看似简单的操作背后&#xff0c;隐藏着容器格式与编码格式的深层差异。本文将用真实踩坑案例&#…...

零代码玩转OpenClaw:ollama-QwQ-32B自动化脚本生成教程

零代码玩转OpenClaw&#xff1a;ollama-QwQ-32B自动化脚本生成教程 1. 为什么选择OpenClawollama-QwQ-32B组合&#xff1f; 上周我在整理旅行照片时&#xff0c;面对上千张命名混乱的图片文件&#xff0c;突然意识到&#xff1a;这不正是测试OpenClaw自动化能力的绝佳场景吗&…...

PX4坐标系全攻略:NED与FRD转换的5个实际应用场景

PX4坐标系实战指南&#xff1a;NED与FRD转换在无人机五大核心场景中的应用 引言 在无人机飞控系统的开发中&#xff0c;坐标系的理解与应用是算法工程师必须跨越的第一道技术门槛。PX4作为目前最主流的开源飞控平台&#xff0c;其采用的NED&#xff08;North-East-Down&#xf…...

树莓派C语言工程建立

从原来例子程序中拷贝一个例子例如blink目录到myPrj目录下&#xff0c;再拷贝其他几个文件&#xff0c;最终示意如下&#xff1a;修改CMakeLists.txt 文件&#xff0c;去除add_subdirectory(…)语句和add_subdirectory_exclude_platforms(…)语句&#xff0c;在最后增加 add_su…...

GPT-5-Codex CLI实战:如何用UIUIApi中转服务稳定获取API Key(避坑指南)

GPT-5-Codex CLI高效实践&#xff1a;国内开发者API接入全流程解析 最近在技术社区里&#xff0c;关于GPT-5-Codex的讨论热度持续攀升。作为一名长期关注AI编程工具的开发者&#xff0c;我发现很多同行在尝试接入这项服务时遇到了各种技术障碍。本文将分享一套经过实战验证的完…...

League-Toolkit:英雄联盟智能辅助工具全方位评测

League-Toolkit&#xff1a;英雄联盟智能辅助工具全方位评测 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 在快节奏的英雄联盟对…...

开源项目主题系统的3大核心机制深度解析:从CSS变量到动态切换的完整实现方案

开源项目主题系统的3大核心机制深度解析&#xff1a;从CSS变量到动态切换的完整实现方案 【免费下载链接】vue-vben-admin vbenjs/vue-vben-admin: 是一个基于 Vue.js 和 Element UI 的后台管理系统&#xff0c;支持多种数据源和插件扩展。该项目提供了一个完整的后台管理系统&…...

Apache Tomcat 在 IDEA 中配置完整教程(手把手保姆教程)

目录 文章内容简介 配置前提 IDEA 准备 IDEA 中的配置 文章内容简介 本文详细介绍了在IDEA中配置Apache Tomcat服务器的完整步骤。首先指导用户创建Maven Archetype项目。重点讲解了Tomcat服务器的配置过程&#xff0c;包括设置服务器路径、部署工件、修改HTTP端口等关键操…...

Llama-3.2V-11B-cot开发者案例:基于Streamlit定制化UI扩展实践

Llama-3.2V-11B-cot开发者案例&#xff1a;基于Streamlit定制化UI扩展实践 1. 项目概述 Llama-3.2V-11B-cot是一款基于Meta Llama-3.2V-11B-cot多模态大模型开发的高性能视觉推理工具。该工具针对双卡4090环境进行了深度优化&#xff0c;特别修复了视觉权重加载的关键问题&am…...

AI绘画新革命:SDXL-Turbo镜像快速上手与实战测评

AI绘画新革命&#xff1a;SDXL-Turbo镜像快速上手与实战测评 想象一下这样的场景&#xff1a;你刚输入完几个单词&#xff0c;屏幕上就立即呈现出对应的图像。没有等待&#xff0c;没有延迟&#xff0c;就像思维直接转化为画面一样流畅。这就是SDXL-Turbo带来的AI绘画新体验—…...