【算法】LeetCode算法题-Palindrome Number

Python爬虫实战:美团外卖商家数据抓取与分析 随着互联网技术的快速发展,外卖平台已成为人们日常生活中不可或缺的一部分。本文基于Python爬虫技术,使用最新的异步爬虫框架和反爬虫绕过技术,实现了对美团外卖平台商家信息与评分数据的自动化抓取。通过对抓取数据的清洗、存储和分析,为餐饮行业市场研究和商业决策提供数据支持。本文详细介绍了爬虫的设计思路、技术实现方案、数据处理方法以及可视化分析结果,为相关领域的研究者和开发者提供参考。关键词:Python爬虫;美团外卖;数据抓取;数据分析;异步爬虫。 阅读详情

这是悦乐书的第144次更新,第146篇原创

今天这道题和回文有关,即从前往后和从后往前是一样的,如“上海自来水来自海上”就是一个回文字符串,如整数121就是回文数,这些都是和回文相关的。

01 看题和准备

今天介绍的是LeetCode算法题中Easy级别的第3题(顺位题号是9),给定一个整数,判断其是否为回文整数,即向前读和向后读的整数一样。

输入: 121
输出: true

输入: -121
输出: false
说明:从左到右读为-121。从右到左读为121-。因此它不是回文。

输入: 10
输出: false
说明:从左到右读为10。从右到左读为01。因此它不是回文。

本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。

02 分析题目

如果你看过昨天的算法题——反转整数,会不会觉得两个题目有相似之处?

没看过也不要紧,咱们再重新分析此题的解法。

拿到从右往左读的整数,即最后一位数变第一位,倒数第二位变第二位,利用对10取余可以实现。例如: 1223 取反为 3221

最后一位数 = 1223%10 = 3
倒数第二位数 = 122%10 = 2, 其中122是1223除以10后的数
倒数第三位数 = 12%10 = 2, 其中12是122除以10后的数
倒数第四位数 = 1%10 = 1, 其中1是12除以10后的数

拿到反转的数:3x1000 + 2x100 + 2x10 + 1 = 3221

可以进一步分析反转的数是怎么来的:

0*10 + 3 = 3

3*10 + 2 = 32

32*10 + 2 = 322

322*10 + 1 = 3221

反转的数是原数对10取余的余数从个十百位依次向前移动 加上 新的余数。

拿到反转的数后,比较原数和新数是否一致就行,但是还有另外一个问题,就是溢出风险。

这时需要考虑是否需要全部反转完原数才去比较?是不需要的。

原数是循环除以10取整,只要取整后的数大于反转的数,继续循环,反之结束循环。

1223循环2次取整后得到12,新反转数为32,这时12>32为false,并且两数不相等,已经可以直接判断了。

public static boolean isPalindrome(int x) {
    boolean flag = false;
    // 如果x=0,符合回文数
    if (x == 0) {
        return true;
    }
    // 输入负数和个位数为0肯定不是回文数,可以直接判断
    if (x < 0 || x%10 == 0) {
        return false;
    }
    int tem = 0;
    while (x > tem) {
        tem = tem*10 + x%10;
        x /= 10;
    }
    if (x == tem || x == tem/10) {
        flag = true;
    }
    return flag;
}

03 小结

因为今天的这道题和昨天的那道很相似,可以两篇合着一起看。其实这道判断是否为回文整数的题,也可以取巧使用字符串反转操作,虽然时间上省了很多,不过占用的空间更大罢了。

如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

本文首发于我的个人公众号:悦乐书,转载请注明出处!

华为OD机试真题2025双机位A卷 Python&JavaScript 实现【采购订单】 在一个采购系统中,采购申请(PR)需要经过审批后才能生成采购订单(PO)。每个PR包含商品的单价(假设相同商品的单价一定是一样的)及数量信息。系统要求对商品进行分类处理:单价高于100元的商品需要单独处理,单价低于或等于100元的相同商品可以合并到同一采购订单PO中。针对单价低于100的小额订单,如果量大可以打折购买。 阅读详情

相关推荐

《寻秦OL》.ani动画逆向解析:二进制结构与Unity重实现

动画文件格式是游戏资源逆向的核心入口,其本质是一组按特定规则组织的二进制数据流。理解魔数识别、字节序、字段对齐与差分编码等底层原理,是解析非标准格式的关键前提。技术价值在于绕过黑盒协议,直接从静态客户端提取可验证的原始语义;典型应用场景包括老游戏复刻、美术资产抢救、引擎跨平台迁移及教学级逆向训练。本文以《寻秦OL》的`.ani`文件为实例,深入剖析其C风格结构布局、GB2312中文命名、16位定点数旋转表示及帧主序差分存储机制,并基于C#在Unity中完成从字节流到AnimationClip的端到端重建,覆

weixin_30368981的博客 640

检查一个字符串是否为回文 。 回文:正着念与反着念一样,例如:上海自来水来自海上

检查一个字符串是否为回文 回文:正着念与反着念一样,例如:上海自来水来自海上 package homework_answer.day01; /** * 检查一个字符串是否为回文 * 回文:正着念与反着念一样,例如:上海自来水来自海上 * * */ public class Test03 { public static void main(String[] args) { /* * 编写一个回文字符串,然后调用check方法检查 * 该字符串是否为回文,然后输出检查结果。

qq_44758926的博客 2037

嵌入式开发也玩“全家桶”?手把手教你用CLion+PyOCD调试APM32,比OpenOCD更简单

本文详细介绍了如何使用CLion和PyOCD组合进行APM32嵌入式开发,提供从环境配置到实战调试的完整指南。相比传统工具如Keil和OpenOCD,这套方案更轻量、易用,特别适合现代开发者需求,涵盖CMake配置、PyOCD调试技巧及常见问题解决。

weixin_42543046的博客 464

问题 1200: 回文串

时间限制: 1Sec 内存限制: 128MB 提交: 477 解决: 267 题目描述 回文串是从左到右或者从右到左读起来都一样的字符串,试编程判别一个字符串是否为回文串。 输入 输入一个字符串。串长度&lt;255. 输出 判别输入的字符串是否为回文串,是输出"Y",否则输出"N"。 样例输入 abcba 样例输出 Y #include &lt;iostream&gt; #include &lt...

fffzlfk的博客 553

正版63棋牌源代码游戏+728游戏全套带前端源代码解析

这俩天抽时间仔细看了一下这套项目包含完整的前端、后端及后台管理系统。从上传的截图可以看出,前端基于资源目录,后端采用和,后台管理界面提供数据查询与管理功能。本篇文章将从前端结构、后端接口、数据库设计、常见 BUG 及优化方法等方面逐步拆解,并给出相应的代码示例和实践经验。

aa2031171的博客 3578

从TCGA官网获取新版count数据并精准转换为TPM的实战指南

本文详细介绍了从TCGA官网获取新版count数据并精准转换为TPM的实战指南。通过TCGAbiolinks工具下载原始count数据,结合GENCODE v36注释文件计算基因有效长度,最终实现count到TPM的标准化转换,确保数据完整性和分析可靠性。文章包含完整代码示例和常见问题解决方案,特别适合生物信息学研究人员参考。

weixin_27310417的博客 284

问题 B: 回文串

回文串是从左到右或者从右到左读起来都一样的字符串,试编程判别一个字符串是否为回文串。是则输出Y,不是则输出N。多组输入,每组输入一个不含有空格的字符串。题目保证串长度 不超过255.判别输入的字符串是否为回文串,是输出"Y",否则输出"N"。

VICTOR的博客 811

【国产化信创实践】宝兰德bes中间件集成springboot

【国产化信创实践】宝兰德bes中间件集成springboot

项目管理、软件工厂、vue研发、Java研发、中国文化等。 1万+

回文串问题

一个字符串,如果从左到右读和从右到左读是完全一样的,比如"aba",我们称其为回文串。现在给你一个字符串,可在任意位置添加字符,求最少添加几个字符,才能使其变成一个回文串。 输入格式: 任意给定的一个字符串,其长度不超过1000. 输出格式: 能变成回文串所需添加的最少字符数。 输入样例: 在这里给出一组输入。例如: Ab3bd Abb 输出样例: 在这里给出相应的输出。例如: 2 1 #include<iostream> #include<cstring> using name

MrLuo8的博客 560

Ubuntu24.04/20.04设置网络共享文件夹

Ubuntu20.04利用向日葵远程控制时,不能传输文件。使用linux版本QQ来传输是可以的,不过linuxqq功能真的很弱。因此,打算在Ubuntu系统中建立一个共享文件夹,可在局域网中访问。 1、新建共享文件夹 获取root权限,或者登陆root账户。可在/home文件夹(或其它文件夹)下新建一个文件夹,如share。 右击文件夹,选择“本地网络共享”菜单。按下图设置。 点击确定。如果系统已经安装了samba服务器,就可以进入第3步。如果没有,会提示安装,按提示安装,可能会出错,可进.

willhu2008的专栏 2万+

清理异常值(MAD:绝对中位差)

清理异常数据: 中位数绝对偏差(MAD):用来描述单变量样本在定量数据中可变的一种标准 在统计学中,绝对中位差是刻画一元数据样本变化的一个鲁棒度量。由公式可以看出,其求解还算简单,给定一个数据样本集,首先求其中位数,然后求原始数据减去中位数的绝对值从而形成一个新的数据样本,再求新的数据样本的中位数即为绝对中位差。比如说有一个数据样本集X={2 3 8 7 9 6 4},这时候数据的中位数是6,原...

spider_man 1万+

Java字符串是否是回文

1、什么是回文 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如“上海自来水来自海上”或者“aba”。 【经典段子】上海某大学男生给女同学乙出上联求对:“上海自来水来自海上。”顺念倒念完全一样,难度极大!女生乙对曰:“山东落花生花落东山”;男生甲遂出绝对:“大波美人鱼人美波大”,女生乙对曰“明天到操场操到天明!”男生落败。 2、判断的方法 ①字符串倒置后创建新字

javafirst 1204

在 VS Code 里配置 SAP Joule for Developers 的 ABAP AI side-by-side 能力

摘要: 随着ABAP开发工具链的演进,VS Code逐渐融入ABAP开发流程,SAP Joule for Developers的ABAP AI能力通过side-by-side模式(基于BTP中央服务)为多系统开发提供统一AI支持。该模式避免了各ABAP后端独立升级AI能力的碎片化问题,由管理员配置BTP订阅URL后,开发者可在ADT或VS Code中全局调用。实际落地需注意角色分工(管理员配置服务,开发者填写URL)、AI units资源规划及配置细节(如区分全局与项目级设置)。建议将Joule URL纳入

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

LeetCode算法题之9:Palindrome Number

LeetCode之9:Palindrome Number 问题描述: 判断一个数字式否是回文数字,即判断它是否是对称的。原题地址 问题的陷阱与难点: 无 缺陷代码(79.35%) public boolean isPalindrome(int x) { if (x &lt; 0) { return false; } List&lt;Integer&gt; ...

veatheroe的博客 225

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

LeetCode算法题之Palindrome Number

问题描述: Determine whether an integer is a palindrome. Do this without extra space. 判断一个int型数据是不是回文数,保证计算空间不会溢出 解题思路: 转为字符串,进行前后比较 class Solution { public: bool isPalindrome(int x) { if(res

LovePeppa的专栏 598

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

LeetCode算法题——Palindrome Number

Determine whether an integer is a palindrome. Do this without extra space. click to show spoilers. Some hints: Could negative integers be palindromes? (ie, -1) If you are thinking of converting th

LZTree的专栏 375

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

用Python3实现LeetCode算法题系列——No.009 Palindrome Number [Easy]

目录 1. 题目 2. 提交的代码 3. 运行效果 4. 完整代码 1. 题目 Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward. Example 1: Input: 121 ...

阿耀的博客 532

LeetCode OJ算法题(九):Palindrome Number

题目: Determine whether an integer is a palindrome. Do this without extra space. 解法: 题目很简短,

op_yu的专栏 459

python写算法题:leetcode: 9. Palindrome Number

class Solution(object): def isPalindrome(self, x): """ :type x: int :rtype: bool """ if x<0: return False base=1 while x>=base*10:

649

leetcode:Palindrome Number (判断数字是否回文串) 【面试算法题】

Determine whether an integer is a palindrome. Do this without extra space. 题意判断数字是否是回文串,只能用常数空间,不能转换成字符串,不能反转数字。

Havenoidea 的专栏 1万+

【仅用于个人整理记忆】LeetCode算法题之9. Palindrome Number(easy)

声明: 如标题所示,因本人为AI路上的新手,文章仅用于辅助个人的整理记忆,理解难免有偏差之处,都是个人拙见,如给其他同僚造成困扰,还请见谅,非常非常非常欢迎私信共同讨论,共同进步 题目描述: Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward...

DaMoWangZQ的博客 190

【力扣Leetcode题解系列之0009—Palindrome Number 回文数:深入剖析与拓展】

摘要: 本文详细解析了力扣第9题「回文数」的两种解法:字符串转换法和数字翻转法。字符串法通过比较字符判断回文,时间复杂度O(log₁₀n),空间复杂度O(log₁₀n);数字翻转法通过数学运算反转数字,空间优化至O(1)。文章还提供了Python/Java/C/C++/Go多语言实现,并拓展了判断任意进制回文数的问题,建议处理负数、进制转换和字符比较。两种解法中翻转数字法更优,尤其适合限制空间的情况。

youngerwang的博客 718

Leetcode 3646. Next Special Palindrome Number

Leetcode 3646. Next Special Palindrome Number

codename_cys的博客 818

leetcode09-Palindrome Number之Java版本

我的leetcode之旅,该篇章主要完成使用Java实现算法。这是第9篇Palindrome Number

peace唠叨 1410

闯关leetcode——9. Palindrome Number

leetcode第9题

方亮的专栏 2297

LeetCode-Palindrome Number的两种算法

LeetCode-Palindrome Number的两种算法 题目链接:https://leetcode.com/problems/palindrome-number/description/ Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same back...

qq_30985149的博客 156
上一篇: 【算法】LeetCode算法题-Reverse Integer
下一篇: 【算法】LeetCode算法题-Roman To Integer
程序员小川
博客等级 码龄10年 47粉丝 305原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值