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

9. 回文数

题目

给你一个整数 xxx ,如果 xxx 是一个回文整数,返回 truetruetrue ;否则,返回 falsefalsefalse 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

例子

  1. 输入:x=121x = 121x=121
    输出:truetruetrue
  2. 输入:x=−121x = -121x=121
    输出:falsefalsefalse
    解释:从左向右读, 为 −121-121121 。 从右向左读, 为 121−121-121 。因此它不是一个回文数。
  3. 输入:x=10x = 10x=10
    输出:falsefalsefalse
    解释:从右向左读, 为 010101 。因此它不是一个回文数。

思路

1. 首尾测试

为了判断是否回文数,判断首尾是否相等,然后左指针和右指针左移和右移,可以不用计算到最后,只要在中途发现不对称就可以直接返回False,否则最后返回True。如果输入的是空字符串,也应该返回True,因为空字符串也是回文数。

  • 时间复杂度:O(n)O(n)O(n)
  • 空间复杂度:O(1)O(1)O(1)
class Solution:def isPalindrome(self, x: int) -> bool:s = str(x)# 空字符串也是回文数if not s:return Truei = 0j = len(s) - 1# 这表示只要 i 不小于 j,即左指针越过右指针或者指向同一个元素,就说明是回文数。while i < j:if s[i] == s[j]:i += 1j -= 1# 只要不对称就返回Falseelse:return False# 判断完毕 返回Truereturn True

2. 数学

如果是负数,直接不是回文数;如果是正数,则将数值倒过来计算,然后比较是否和原数值相等。

  • 时间复杂度:O(log(x))O(log(x))O(log(x))
  • 空间复杂度:O(1)O(1)O(1)
class Solution:def isPalindrome(self, x: int) -> bool:n = 0if x < 0:return Falsey = xwhile y > 0:n = n * 10 + y % 10y = y // 10return n == x

相关文章:

9. 回文数

题目 给你一个整数 xxx &#xff0c;如果 xxx 是一个回文整数&#xff0c;返回 truetruetrue &#xff1b;否则&#xff0c;返回 falsefalsefalse 。回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 例子 输入&am…...

[SV]SystemVerilog线程之fork...join专题

SystemVerilog线程之fork...join专题 Q&#xff1a;fork-join_none开辟的线程在外部任务退出后也会结束吗&#xff1f; A&#xff1a;后台线程不会结束&#xff0c;任何由fork开辟的线程&#xff08;join、join_any、join_none&#xff09;&#xff0c;无论其外部任务&#xff…...

你看这个spring的aop它又大又宽

aop&#x1f693;AOP 分类AspectJ | 高级但是难用Spring AOP | 易用但仅支持方法aop 原理明月几时有&#xff0c;把酒问青天。——唐代李白《将进酒》 AOP 分类 在 Spring Boot 中&#xff0c;AOP 的实现主要有以下几种&#xff1a; 基于 AspectJ 的 AOP&#xff1a;这是一种基…...

设计模式-创建-单例模式

4.1.1 模式介绍 定义 单例模式&#xff08;Singleton Pattern&#xff09;是 Java 中最简单的设计模式之一&#xff0c;此模式保证某个类在运行期间&#xff0c;只有一个实例对外提供服务&#xff0c;而这个类被称为单例类。 作用 保证一个类只有一个实例为该实例提供一个全…...

使用mybatis-plus-generator配置一套适合你的CRUD

1、maven引入 mybatis-plus-generator 和模板引擎&#xff0c;你也可以使用freemarker之类的&#xff0c;看个人 <!-- mybatisplus代码生成器 --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactI…...

MATLAB实现各种离散概率密度函数(概率密度/分布/逆概率分布函数)

MATLAB实现各种离散概率密度函数(概率密度/分布/逆概率分布函数) 1 常见离散概率分布的基本信息2 常见离散概率分布计算及MATLAB实现2.1 二项分布(Binomial Distribution)2.1.1 常用函数2.2 负二项分布(Negative Binomial Distribution)2.2.1 常用函数2.3 几何分布(Geom…...

指针的基本知识

我们不会用bit去表达一个数据&#xff0c;因为只能放0和1&#xff0c;能表达的数据太少了&#xff0c;内存地址最小单位是字节 11111111 0x0011 1字节8bit,8bit才算作一个地址&#xff0c;地址是以字节为最小单位&#…...

当你的IDE装上GPT

文章目录前言下载安装使用步骤前言 我们可能要从“CV”工程师变成“KL工程师了&#xff0c;为什么叫”KL“工程师呢&#xff0c; 因为只要K和L两个指令就可以直接生成代码、修改代码&#xff0c;哪行代码不会点哪里&#xff0c;他都给你解释得明明白白。 提示&#xff1a;以下…...

一图看懂 pathlib 模块:面向对象的文件系统路径, 资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创&#xff0c;转载请声明。 链接: https://blog.csdn.net/Ahcao2008 一图看懂 pathlib 模块&#xff1a;面向对象的文件系统路径, 资料整理笔记&#xff08;大全&#xff09;摘要模块图类关系图模块全展开【pathlib】统计常量intbooltuple模块9 fnmatc…...

前端如何将node.js 和mongodb部署到linux服务器上

本文首发自掘金。 记录了我第一次成功部署node.js 和mongodb到linux服务器上了&#xff0c;期间也遇到一些小坑&#xff0c;但是网上各位大佬记录的文章帮了大忙&#xff0c;所以我也将过程记录了下来。 安装Node 使用nvm linux上安装node&#xff0c;肯定首选nvm&#xff…...

mysql数据迁移

背景&#xff1a;随着时间的推移&#xff0c;交易系统中的订单表越来越大&#xff0c;目前达到500w数据。为了防止数据量过大导致的查询性能问题&#xff0c;现将订单表进行拆分&#xff0c;分为实时库和历史库。实时库保留近6个月的数据&#xff0c;用于退款业务需求&#xff…...

【4.3蓝桥备战】小朋友崇拜圈、正则问题

文章目录小朋友崇拜圈正则问题小朋友崇拜圈 小朋友崇拜圈 - 蓝桥云课 (lanqiao.cn) 拿到这道题要先把题目读懂。 下面的一行是表示&#xff1a;编号为i的小朋友&#xff0c;崇拜的对象为编号为path[i]的小朋友。 本题应该使用DFS&#xff0c;深度优先遍历找到可以成环的崇拜圈…...

MySQL读写分离中间件

1.什么是读写分离中间件&#xff1f; 就是实现当[写]的时候转发到主库&#xff0c;当[读]的时候转发到从库的工具。 很类似学习过的proxy,比如nginx proxy做动静分离. 2.为什么要实现读写分离&#xff1f; 1&#xff09;让主库专注于写&#xff0c;因为读可以有很多从库可以干…...

【Spring源码设计模式】单例模式外带设计模式的单例模式

Bean的概念 是Spring框架在运行时管理的对象&#xff0c;是任何引用程序的基本构建块。 Bean的属性 id属性&#xff1a;Bean的唯一标志名&#xff0c;必须以字母开头且不包含特殊字符 class属性&#xff1a;用来定义类的全限定名&#xff08;包名 类名&#xff09; name属性…...

go并发编程 —— singleflight设计模式

什么是singleflight singleflight是一种并发编程设计模式&#xff0c;将同一时刻的多个并发请求合并成一个请求&#xff0c;以减少对下游服务的压力 为什么叫singleflight fly可以理解为请求数&#xff0c;singleflight就是单个请求 使用场景 该模式主要用于防止缓存击穿 …...

【LeetCode】二叉树的中序遍历(递归,迭代,Morris遍历)

目录 题目要求&#xff1a;给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 方法一&#xff1a;递归 方法二&#xff1a;迭代 思路分析&#xff1a; 复杂度分析 代码展示&#xff1a; 方法三&#xff1a;Morris 遍历 思路分析&#xff1a; 复杂度分析…...

银行数字化转型导师坚鹏:数字化转型背景下的银行柜员提升之道

数字化转型背景下的银行柜员提升之道 课程背景&#xff1a; 很多银行都在开展银行数字化运营工作&#xff0c;目前存在以下问题急需解决&#xff1a; l 不清楚银行数字化运营包括哪些关键工作&#xff1f; l 不清楚银行数字化运营工作的核心方法论&#xff1f; l 不清楚银行数字…...

ChatGPT的平替来了?一文总结 ChatGPT 的开源平替,你值得拥有

文章目录【AIGC精选】总结 ChatGPT 的开源平替&#xff0c;你值得拥有1.斯坦福发布 Alpaca 7B&#xff0c;性能匹敌 GPT-3.52.弥补斯坦福 Alpaca 中文短板&#xff0c;中文大模型 BELLE 开源3.国产AI大模型 ChatGLM-6B 开启内测4.中文 Alpaca 模型 Luotuo 开源5. ChatGPT 最强竞…...

关于数据同步工具DataX部署

1.DataX简介 1.1 DataX概述 DataX 是阿里巴巴开源的一个异构数据源离线同步工具&#xff0c;致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。 源码地址&#xff1a;GitHub - alibaba/DataX: DataX是…...

如何开发JetBrains插件

1 标题安装 IntelliJ IDEA 如果您还没有安装 IntelliJ IDEA&#xff0c;从官方网站下载并安装 IntelliJ IDEA Community Edition&#xff08;免费&#xff09;或 Ultimate Edition&#xff08;付费&#xff09;。 2 创建插件项目 在 IntelliJ IDEA 中&#xff0c;创建一个新…...

【NotebookLM移动端避坑白皮书】:上线首月超12万用户踩中的3类权限陷阱与2种文档同步丢失根因分析

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM移动端避坑白皮书导论 NotebookLM 是 Google 推出的基于用户上传文档构建个性化 AI 助手的实验性工具&#xff0c;其移动端&#xff08;iOS/Android&#xff09;虽提供便捷访问入口&#xff…...

AP431比较器应用设计与动态响应优化

1. AP431作为比较器的设计背景与特性解析在模拟电路设计中&#xff0c;电压基准源和比较器是两个最基础的构建模块。AP431作为行业标准431系列的一员&#xff0c;最初的设计定位是精密电压基准源&#xff0c;用于替代传统齐纳二极管。其核心价值在于内部集成了一个高精度2.5V带…...

基于AI宏观流动性监测框架的黄金三日连跌研究:美联储加息预期按兵不动后的市场重定价逻辑

摘要&#xff1a;本文通过AI宏观利率模型、美元流动性监测系统与黄金波动率因子分析&#xff0c;结合美通胀数据、美债收益率变化及市场利率预期重定价过程&#xff0c;分析黄金连续三日回落背后的核心驱动逻辑&#xff0c;并探讨当前“高利率持续”环境下黄金资产的阶段性压力…...

嵌入式以太网模块WIZ5500应用指南:从SPI接口到物联网稳定连接

1. 项目概述&#xff1a;为什么你的物联网项目需要一个有线网络“锚点”无线网络&#xff08;Wi-Fi&#xff09;确实方便&#xff0c;但做过几个实际项目的朋友都知道&#xff0c;它的“方便”有时是建立在“不确定性”之上的。信号波动、信道拥堵、复杂的认证流程&#xff0c;…...

chipKIT平台与PIC32开发板:32位MCU的Arduino兼容方案

1. Arduino兼容的chipKIT平台与PIC32开发板概述在嵌入式开发领域&#xff0c;32位微控制器(MCU)正逐步取代传统的8位MCU&#xff0c;成为创客、学生和专业工程师的首选。Microchip Technology公司推出的chipKIT平台&#xff0c;正是这一趋势下的产物。chipKIT平台基于高性能的3…...

两种 Linux 发行版:Ubuntu 与 CentOS Shell 环境核心差异对比(查看 Linux 版本,Hadoop 是什么)

Xshell5作为远程连接工具&#xff0c;可通过命令行查看连接的Linux服务器版本。推荐使用cat /etc/os-release或lsb_release -a查看发行版信息&#xff0c;特定系统可用cat /etc/redhat-release(CentOS)或cat /etc/debian_version(Debian)。内核版本用uname -r查看。Ubuntu和Cen…...

AI建站工具选型指南:一张表看懂怎么选,哪个适合你

AI建站工具选型指南&#xff1a;一张表看懂怎么选&#xff0c;哪个适合你痛点与目标&#xff1a;为什么选个工具这么难市面上的建站工具都宣传自己能“AI生成”“一键建站”&#xff0c;但你点进去一看&#xff0c;有的要自己拖模板&#xff0c;有的要自己写文案&#xff0c;有…...

VMware Workstation 17 Pro 保姆级教程:5分钟搞定Win11虚拟机TPM 2.0和安全启动配置

VMware Workstation 17 Pro 极速配置指南&#xff1a;Win11虚拟机TPM 2.0与安全启动实战 在虚拟化技术领域&#xff0c;VMware Workstation一直保持着领先地位。随着Windows 11的发布&#xff0c;许多开发者和技术爱好者都希望在虚拟机中体验这个新系统&#xff0c;却频繁遭遇T…...

程序员35岁转型记:我如何成为AI产品经理?

当“质量守卫者”遇见职业天花板如果你是一名软件测试工程师&#xff0c;你一定熟悉这样的场景&#xff1a;凌晨三点还在盯着自动化脚本的运行日志&#xff0c;白天反复和开发争论一个缺陷的定级&#xff0c;周报里写满了用例覆盖率和漏测率&#xff0c;但晋升答辩时评委却问你…...

ARIS:基于技能化工作流的AI自主研究系统设计与实践

1. 项目概述&#xff1a;ARIS&#xff0c;一个让AI在你睡觉时做研究的自主工作流 如果你是一名机器学习或计算机科学领域的研究者&#xff0c;我猜你肯定有过这样的体验&#xff1a;一个绝妙的想法在深夜闪现&#xff0c;你兴奋地爬起来记下几行潦草的笔记&#xff0c;然后第二…...