用python手刃Leetcode(9):回文数【简单题】

GraphRAG + Ollama 本地化部署实战:从零搭建知识图谱问答系统 本文详细介绍了如何在本地部署GraphRAG与Ollama,搭建一个完全自主可控的知识图谱问答系统。通过逐步指导环境配置、项目初始化、核心设置修改以及源码适配,成功将GraphRAG从依赖云端OpenAI API转向本地Ollama服务,并选用qwen2.5:7b和nomic-embed-text模型。该方案有效解决了数据隐私与持续API成本问题,特别适合中小企业构建内部知识库或智能客服系统。 阅读详情
前言

博客里新开一个“用python手刃Leetcode”的专题,顾名思义,主要目的是记录自己在Leetcode上刷题的过程,代码全程用python3编写,所用网址是:leetcode中国。这个网址的好处是:1)纯中文,解决了英语不好读题困难的问题;2)网页打开速度快。
`
同时可以看到:目前官网给出的解题代码是用java编写的,并没有给出官方的python解答,本专栏除了尽量使用多种解法给出每道题的python3解答代码之外,还会记录下自己在做题过程中的一些收获和思考。便于以后复习查阅。

题目

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

  • 示例 1: 输入: 121 输出: true

  • 示例 2: 输入: -121 输出: false
    解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

  • 示例 3: 输入: 10 输出: false
    解释: 从右向左读, 为 01 。因此它不是一个回文数。

方法一:

映入脑海的第一个想法当然是将数字转换为字符串,并检查字符串是否为回文。

class Solution:
    def isPalindrome(self, x):
	    a = str(x)
        n = len(a)#元素个数
        i = 0
        while i<(n//2):
            if a[i] != a[n-1-i]:
                return False
        return True

这里用了一次循环,在没有其他思路的情况下不失为一种解决方法。但是,这种方法时间复杂度太长,在这里没法通过。

方法二:

第二种方法当然就要使用python的切片大法了。这里还详细分了两种思路:第一种思路是,我管你数字是多少,直接利用
用python手刃Leetcode(7):反转整数【简单题】
中提到的字符串反转切片大法。转了之后一比较即可。

class Solution:
    def isPalindrome(self, x):
        x = str(x)
        return x == x[::-1]

Amazing!两行代码解决。

还有一种思路就是多考虑了一下输入的数字类型,负数肯定不会是回文数的,直接返回False 即可,所以从源头控制一下输入数据,防止做无用的转换字符串、反转操作。

class Solution:
    def isPalindrome(self, x):
        if x < 0:
            return False        
        return int(str(x)[::-1]) == x

虽然代码多几行,但是速度却降下去了。

方法三:只反转一半数字

这个代码的思路是:因为对于回文数字,其后半部分反转后应该与原始数字的前半部分相同。所以只需要截取数字的后半部分并反转,然后再与前半部分比较即可。虽然思路很有意思,但是在这里,相比于上边两种方法,代码长度和时间复杂度都会变长,唯一优点是会节省一部分空间,姑且在这里贴出来。

        x1 = str(x)  #将x转换成字符串
        n = len(x1)  #字符串长度
        if n == 1:   #如果输入是个位数,直接返回True
            return True  
        else:
            x2 = x1[n-n//2:] #截取后半段
            if x1[:n//2] == x2[::-1]: #前半段和反转后的后半段比较     
                return True
            else:
                return False

最后,调皮的官网给了一个小进阶问题,留待以后解决:

进阶: 你能不将整数转为字符串来解决这个问题吗?

23 RAG 为什么答不准:召回、分块、排序的常见坑 RAG 答不准时,不要先怪模型。本文把常见失败拆成召回不到、召回不准、分块不完整、排序靠后、上下文污染和生成不忠实六类,并给出从 Top-K 检查到评估集的排查流程。 阅读详情

相关推荐

计算机模拟爆破过程,基于LSDYNA岩石爆破模拟建模分析

原标题:基于LSDYNA岩石爆破模拟建模分析 Ls Dyna岩石爆破模拟仿真作者:dyna_focus擅长领域:dyna/abaqus/hypermesh一、 数值模型的建立1.1 单元及算法的选择岩石,炸药,空气都采用solid164实体单元。岩石采用常应力实体单元,该种单元属于纯粹的lagrange算法,该种算法单元网格附着在材料上,随着材料的流动而产生单元网格的变形,但是在结构变形巨大时,有...

weixin_29494379的博客 7317

LeetCode 第9题:回文数(Python3解法)

LeetCode 第9题:回文数(Python3解法)

weixin_43490422的博客 1266

3D IC中Memory-on-Logic堆叠测试的DFT解决方案与工程实践

在半导体行业,随着摩尔定律逼近物理极限,3D IC技术通过芯片垂直堆叠实现性能提升和异构集成,已成为重要发展方向。其核心原理是利用硅通孔(TSV)或微凸块实现芯片间电气互连,将多个不同功能的芯片(如逻辑芯片与存储芯片)集成在一个封装内。这项技术的核心价值在于能大幅提升系统性能、降低功耗并实现更小的封装尺寸。然而,芯片堆叠后,传统的测试方法面临巨大挑战,尤其是测试访问存在物理屏障,无法直接探测被覆盖的芯片接口。为此,可测试性设计(DFT)成为确保3D IC可靠性与量产可行性的关键技术。它通过在设计阶段植入专用

weixin_42521058的博客 632

9. 回文数 (Python 实现)

题目: 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。 示例 1: 输入:x = 121 输出:true 示例 2: 输入:x = -121 输出:false 解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入:x = 10 输出:false 解释:从右向左读, 为 01 。因此它不是一个回

d_l_w_d_l_w的博客 2399

振动能量采集技术:从原理到实战,破解物联网供电难题

能量采集技术旨在捕获环境中的废弃能量(如机械振动、热能、光能)并将其转化为电能,其核心原理在于通过压电、电磁、静电或摩擦电等物理效应实现能量形式的转换。这项技术的核心价值在于为物联网(IoT)中难以布线或更换电池的分布式传感器节点、植入式医疗设备等提供近乎永续的电力解决方案,从而解决物联网部署的“最后一米供电”瓶颈。其应用场景广泛覆盖工业预测性维护、结构健康监测、可穿戴设备及消费电子等领域。本文聚焦于振动能量采集这一细分方向,深入剖析了压电式、电磁式、电容式及摩擦纳米发电机(TENG)等主流技术路线的实战考

weixin_42660494的博客 569

win 11bitlocker恢复密匙一般情况的解决方式(这里指的是你现在使用的微软账户一直没有变更过)

本来没有打算写这一篇解决帖子的,但是最近好多微博的友友都在私我询问解决方法,孩子虽然很热心,但是真的回复不过来了,打字太累了,这里给大家简单指个路,希望能够对大家有所帮助。 当时出现这个问题的时候,一搜网上的解决方法都是重装系统什么的,真是吓死孩子啦。后来去微软的官网倒腾了半天解决了问题。其实只要你没有改过微软账户,你可以直接试试我这个方法,大概三到五分钟解决问题吧。 和我情况不一样的也可以参考一下贴吧里一些大佬的分享,或者实在着急我感觉去淘宝上找个解决也不是未尝不可。 出现问题: 解决方案: 直接去微软

zhiqingxue的博客 2万+

Python 9.回文数

 回文数Python实现 class Solution(object): def isPalindrome(self, x): """ :type x: int :rtype: bool """ temp = str(x)[::-1] if(temp == str(x)): ...

松鼠豪的坚果 375

Anaconda离线创建python环境

既然是离线创建python环境,就需要有一个已经创建好的python环境。所以我们有两台win10的机器,分别是A和B。两台机器都安装了anaconda。其中A可以连网,因此我们在A上创建好一个python2.7的环境py27,然后将py27移植(安装)到B上。B连不连网都无所谓。 一、机器上A上创建python2.7的环境py27 有两种方法: 方法1:使用Anaconda的图形界面。首先,点击Environments->Create,然后输入要创建的环境名称"py27",然后选择2.7,如图

FY_2018的博客 6787

9. 回文数

回正序(从左向右)和倒序(从右向左)读都是一样的整数例如:✅ 121、0 是回文数❌ -121 不是回文数(因为包含负号,左右读不一致)虽然回文数问题看起来简单,但通过多种思路对比,不仅能练习基础语法,还能提升我们对算法效率、边界条件处理和思维方式的理解。

weixin_67251822的博客 430

SAP Joule 经过了超过 2.5 亿行 ABAP 代码的训练之后......

披露的统计数据,Joule 提供的这种全新系统交互方式,可将事务性任务执行速度提高 90%,访问 SAP Help Portal 内容的速度提高 95%。在 ABAP 应用开发领域,SAP 官网数据显示,Joule 经过超过 2.5 亿行 ABAP 代码的训练,有信心成为这一领域行业领先的代码助手。刚刚过去的 SAP 蓝宝石大会上,SAP 提到,从2023年第四季度以来,SAP 已经交付了 50 项基于人工智能的创新。让其生成 SAP 应用能够识别的结构化应用数据,业务用户全程无需离开 SAP 应用程序。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 798

基于Playwright和反爬虫规避技术的雪球股票讨论数据采集方案

随着量化投资和社交投资的兴起,雪球作为中国领先的投资社交平台,其用户讨论数据成为研究市场情绪的重要来源。本文将详细介绍如何使用最新的Playwright技术和反爬虫规避策略,构建一个高效、稳定的雪球股票讨论爬虫系统。本文详细介绍了基于Playwright的雪球股票讨论爬虫实现方案,涵盖了从基础配置到高级反爬虫策略的各个方面。AI驱动的反爬虫对抗更智能的请求调度算法区块链技术在数据溯源中的应用联邦学习在数据采集中的运用。

2201_76125261的博客 1009

9.回文数(python)

将输入转换为字符串,然后比较字符串的前半部分与后半部分反转,若相同,则返回true,否则返回false.从左向右读, 为 -121。从右向左读, 为 121-。因此它不是一个回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。从右向左读, 为 01。因此它不是一个回文数。是一个回文整数,返回。

weixin_71719718的博客 332

Plant Simulation 快速建模与布局(3)——自动生成的对象 代码“安全”删除管理

《PlantSimulation快速布局建模课程》教授利用SimTalk语言实现高效建模的技术要点,包括批量对象创建、阵列布局、属性管理及自动连接功能。重点讲解对象安全删除机制,通过existsObject检查对象存在性后使用deleteObject方法删除,避免程序报错。课程提供完整代码示例,展示如何通过循环结构实现矩阵布局对象的创建与安全删除,确保代码健壮性,显著提升建模效率。

qq_31964455的博客 119

用python手刃Leetcode(1):两数之和【简单题】

题目 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 暴力解法 首先不管三七二十一,利用暴力解法来尝试。 cl...

u013044310的博客 4518

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

用python手刃Leetcode(7):反转整数【简单题】

前言 博客里新开一个“用python手刃Leetcode”的专题,顾名思义,主要目的是记录自己在Leetcode上刷题的过程,代码全程用python3编写,所用网址是:leetcode中国。这个网址的好处是:1)纯中文,解决了英语不好读题困难的问题;2)网页打开速度快。 ` 同时可以看到:目前官网给出的解题代码是用java编写的,并没有给出官方的python解答,本专栏...

u013044310的博客 5037

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

用python手刃leetcode(58):最后一个单词的长度【简单题】

前言 博客里新开一个“用python手刃Leetcode”的专题,顾名思义,主要目的是记录自己在Leetcode上刷题的过程,代码全程用python3编写,所用网址是:leetcode中国。这个网址的好处是:1)纯中文,解决了英语不好读题困难的问题;2)网页打开速度快。 ` 同时可以看到:目前官网给出的解题代码是用java编写的,并没有给出官方的python解答,本专栏除了尽量使用多种解法给出每...

weixin_33795833的博客 143

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

python 单词长度_用python手刃leetcode(58):最后一个单词的长度【简单题】

前言博客里新开一个“用python手刃Leetcode”的专题,顾名思义,主要目的是记录自己在Leetcode上刷题的过程,代码全程用python3编写,所用网址是:leetcode中国。这个网址的好处是:1)纯中文,解决了英语不好读题困难的问题;2)网页打开速度快。`同时可以看到:目前官网给出的解题代码是用java编写的,并没有给出官方的python解答,本专栏除了尽量使用多种解法给出每道题的p...

weixin_39889544的博客 204

Egg.js企业级开发:多进程架构与性能优化实战

Node.js作为异步事件驱动框架,其单线程特性需要通过多进程架构实现性能扩展。Egg.js基于Koa封装的企业级解决方案,通过Master-Worker模型和进程间通信机制,有效解决了高并发场景下的性能瓶颈问题。框架内置的插件系统和约定式开发模式,显著提升了团队协作效率,特别适合微服务架构下的复杂业务场景。在2026年的技术生态中,Egg.js凭借阿里系技术栈的稳定性基因,仍然是构建高可用应用的首选方案。通过合理的定时任务设计、分布式锁实现以及流式处理优化,开发者可以轻松应对文件上传、数据处理等典型工程挑

weixin_34176694的博客 266

用python手刃Leetcode(2):两数相加

给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例: 输入:(2 -&amp;amp;amp;gt; 4 -&amp;amp;amp;gt; 3) + (5 -&amp;amp;amp;gt; 6 -&amp;amp;amp;gt; 4) 数据结构是计算机科学必须掌握的一门学问,之前很多的教材都是用C语

u013044310的博客 396

leetcode两数相加python_用python手刃Leetcode(2):两数相加

给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)题目分析:1)这道题没有说明链表的长度相同,所以需要考虑链表长度不同的情况。2)这道题有一个条件:你可以假设除了数字 0 之外,这两个...

weixin_35905707的博客 318

Datawhale LeetCode腾讯精选50——Task02

LeetCode07:整数反转 Given a 32-bit signed integer, reverse digits of an integer. Note: Assume we are dealing with an environment that could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. For this problem, assume that your func

probie的博客 185

1. 两数之和

【代码】1. 两数之和。

garrulousabyss的博客 343

【python】9. 回文数(python)

方法一:将数字转换为字符串 class Solution: def isPalindrome(self, x: int) -> bool: x = str(x) j = len(x) - 1 for i in range(len(x)): if x[i] != x[j]: return False j -= 1 return True 方法二:反转.

Rudy的博客 532

LeetCode 9.回文数(python版)

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

weixin_51696882的博客 551

9.python 回文数

题目:是回文数就返回True,不是返回False。 解题思路:将整数x变成字符串x,判断x与逆序的x是否相等,相等的话,就是回文数,否则就不是回文数。 代码: # -*- coding: utf-8 -*- # @Author : Liqiju # @Time : 2022/2/23 16:45 # @File : algorithm_test.py # @Software: PyCharm class Solution: def isPalindrome(self, x:

全村的希望的博客 1239

leetcode—9.分离双指针题型python解答

文章目录分离双指针介绍350. 两个数组的交集 II349. 两个数组的交集 分离双指针介绍   输入是两个数组/链表,两个指针分别在两个容器中移动;根据问题的不同,初始位置可能都在头部,或者都在尾部,或一头一尾。 350. 两个数组的交集 II 给定两个数组,编写一个函数来计算它们的交集。 说明: 输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。 我们可以不考虑输出结果的顺序。 a.分离双指针 class Solution: def intersect(self, nu

柳杰的博客 392
上一篇: 用python手刃Leetcode(7):反转整数【简单题】
下一篇: python中不同函数读取图片格式的区别
东写西读李老湿
东写西读李老湿 领域专家: 数据科学与机器学习技术领域 领域专家: 数据科学与机器学习技术领域
博客等级 码龄13年 481粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值