Leetcode 2119.反转两次的数字

反转 一个整数意味着倒置它的所有位。
- 例如,反转
2021得到1202。反转12300得到321,不保留前导零 。
给你一个整数 num ,反转 num 得到 reversed1 ,接着反转 reversed1 得到 reversed2 。如果 reversed2 等于 num ,返回 true ;否则,返回 false 。
示例 1:
输入:num = 526 输出:true 解释:反转 num 得到 625 ,接着反转 625 得到 526 ,等于 num 。
示例 2:
输入:num = 1800 输出:false 解释:反转 num 得到 81 ,接着反转 81 得到 18 ,不等于 num 。
示例 3:
输入:num = 0 输出:true 解释:反转 num 得到 0 ,接着反转 0 得到 0 ,等于 num 。
一、信息
1.反转的定义
2.这道题目的目的是给我一个整数num,反转num得到reversed1,接着反转reversed1得到reversed2,如果reversed2等于num,返回true否则false
二、分析
条件1:告诉我反转是什么
条件2:告诉我返回值的类型和规则,其实很简单因为返回torf因此我们可以定义函数的类型位布尔类型返回布尔值即可。
思路:
看到这道题目我有一条思路
第一条路:我们可以用取余和取百分比的不断获取整数num的个十百千位然后逆序然后再用同样的函数调用一边即可我的答案的第一部分首先考虑了实现一个反转整数的函数。我采用了常见的通过模10取余数得到数字的最后一位,然后整除10来移除最后一位的方法,来实现整数的反转。这个思考过程较为直接和基础,是初学者常用的解题方法。
第二条思路
五、实现
我的答案:
C++:
#include <stdio.h>
#include <stdbool.h>int reverse(int num) {int reversed = 0;while (num > 0) {int remainder = num % 10;reversed = reversed * 10 + remainder;num = num / 10;}return reversed;
}bool isReversedTwiceTheSame(int num) {int reversed1 = reverse(num);int reversed2 = reverse(reversed1);return reversed2 == num;
}int main() {int num1 = 526;int num2 = 1800;int num3 = 0;printf("%d -> %s\n", num1, isReversedTwiceTheSame(num1) ? "true" : "false");printf("%d -> %s\n", num2, isReversedTwiceTheSame(num2) ? "true" : "false");printf("%d -> %s\n", num3, isReversedTwiceTheSame(num3) ? "true" : "false");return 0;
}
Leetcode题解:

源代码:
#include <stdbool.h>bool isSameAfterReversals(int num) {return num == 0 || num % 10 != 0;
}
总结:
学到了什么?
从这道题目中,我们可以学到几个关键的概念和编程实践:
1. **数学思维**:
- **充分必要条件**的思考是解题的关键。首先考虑何时两次反转会得到原数,然后思考这些条件是不是必要的,是不是充分的。
- **模运算**:通过对10取模来判断一个数的个位数。
2. **编程思维**:
- 逻辑简化:题目可能看起来复杂,需要多步操作,但有时候通过逻辑推理和数学运算可以极大地简化问题,例如这道题目中,无需实际进行反转操作,通过判断就可以得到结果。
- 代码优化:简化逻辑并不总是降低代码的可读性。在许多情况下,它实际上会使代码变得更清晰,更易于理解,同时还提高了代码的效率。
3. **细节处理**:
- 对于特殊的边界情况,例如这里的0,需要单独考虑。
- 注意题目中的条件限制和例子,这会帮助我们更快地理解题目要求。
4. **问题分析与解决策略**:
- 在解决问题时,我们首先需要深入理解问题,分析问题的本质。这道题的本质是考察反转操作对数的位数的影响,以及如何通过数学方法简化计算。
- 其次,我们需要寻找解决问题的策略。这可能涉及到对问题进行逐步分解,或者转化为更容易解决的问题。
通过综合运用数学知识、编程技能、逻辑分析和解决问题的策略,我们可以更有效地解决编程问题。

相关文章:
Leetcode 2119.反转两次的数字
反转 一个整数意味着倒置它的所有位。 例如,反转 2021 得到 1202 。反转 12300 得到 321 ,不保留前导零 。 给你一个整数 num ,反转 num 得到 reversed1 ,接着反转 reversed1 得到 reversed2 。如果 reversed2 等于 num &#x…...
BI神器Power Query(27)-- 使用PQ实现表格多列转换(3/3)
实例需求:原始表格包含多列属性数据,现在需要将不同属性分列展示在不同的行中,att1、att3、att5为一组,att2、att3、att6为另一组,数据如下所示。 更新表格数据 原始数据表: Col1Col2Att1Att2Att3Att4Att5Att6AAADD…...
VUE3照本宣科——认识VUE3
VUE3照本宣科——认识VUE3 前言一、命令创建项目1.中文官网2.菜鸟教程 二、VUE3项目目录结构1.public2.src(1)assets(2)components 3. .eslintrc.cjs4. .gitignore5. .prettierrc.json6.index.html7.package.json8.README.md9.vit…...
《计算机视觉中的多视图几何》笔记(12)
12 Structure Computation 本章讲述如何在已知基本矩阵 F F F和两幅图像中若干对对应点 x ↔ x ′ x \leftrightarrow x x↔x′的情况下计算三维空间点 X X X的位置。 文章目录 12 Structure Computation12.1 Problem statement12.2 Linear triangulation methods12.3 Geomet…...
TFT LCD刷新原理及LCD时序参数总结(LCD时序,写的挺好)
cd工作原理目前不了解,日后会在博客中添加这一部分的内容。 1.LCD工作原理[1] 我对LCD的工作原理也仅仅处在了解的地步,下面基于NXP公司对LCD工作原理介绍的ppt来学习一下。 LCD(liquid crystal display,液晶显示屏) 是由液晶段阵列组成,当…...
基于Java的电影院购票系统设计与实现(源码+lw+部署文档+讲解等)
文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…...
Linux基础指令(六)
目录 前言1. man 指令2. date 指令3. cal 指令4. bc 指令5. uname 指令结语: 前言 欢迎各位伙伴来到学习 Linux 指令的 第六天!!! 在上一篇文章 Linux基本指令(五) 中,我们通过一段故事线,带大家感性的了…...
Anderson-Darling正态性检验【重要统计工具】
Anderson-Darling正态性检验是一种用于确定数据集是否服从正态分布(也称为高斯分布或钟形曲线分布)的统计方法。它基于Anderson和Darling于1954年提出的检验统计量。该检验的基本原理和用途如下: 基本原理: 零假设(Nu…...
Ubuntu基于Docker快速配置GDAL的Python、C++环境
本文介绍在Linux的Ubuntu操作系统中,基于Docker快速配置Python、C等不同编程语言均可用的地理数据处理库GDAL的方法。 首先,我们访问GDAL库的Docker镜像官方网站(https://github.com/OSGeo/gdal/tree/master/docker)。其中&#x…...
<C++> 哈希表模拟实现STL_unordered_set/map
哈希表模板参数的控制 首先需要明确的是,unordered_set是K模型的容器,而unordered_map是KV模型的容器。 要想只用一份哈希表代码同时封装出K模型和KV模型的容器,我们必定要对哈希表的模板参数进行控制。 为了与原哈希表的模板参数进行区分…...
【数据结构与算法】通过双向链表和HashMap实现LRU缓存 详解
这个双向链表采用的是有伪头节点和伪尾节点的 与上一篇文章中单链表的实现不同,区别于在实例化这个链表时就初始化了的伪头节点和伪尾节点,并相互指向,在第一次添加节点时,不需要再考虑空指针指向问题了。 /*** 通过链表与HashMa…...
MySQL的内置函数
文章目录 1. 聚合函数2. group by子句的使用3. 日期函数4. 字符串函5. 数学函数6. 其它函数 1. 聚合函数 COUNT([DISTINCT] expr) 返回查询到的数据的数量 用SELECT COUNT(*) FROM students或者SELECT COUNT(1) FROM students也能查询总个数。 统计本次考试的数学成绩分数去…...
数据结构与算法-(7)---栈的应用-(3)表达式转换
🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…...
Lilliefors正态性检验(一种非参数统计方法)
Lilliefors检验(也称为Kolmogorov-Smirnov-Lilliefors检验)是一种用于检验数据是否符合正态分布的统计检验方法,它是Kolmogorov-Smirnov检验的一种变体,专门用于小样本情况。与K-S检验不同,Lilliefors检验不需要假定数…...
【云原生】配置Kubernetes CronJob自动备份MySQL数据库(单机版)
文章目录 每天自动备份数据库MySQL【云原生】配置Kubernetes CronJob自动备份Clickhouse数据库 每天自动备份数据库 MySQL 引用镜像:databack/mysql-backup,使用文档:https://hub.docker.com/r/databack/mysql-backup 测试、开发环境:每天0点40分执行全库备份操作,备份文…...
基于PSO算法的功率角摆动曲线优化研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
数论知识点总结(一)
文章目录 目录 文章目录 前言 一、数论有哪些 二、题法混讲 1.素数判断,质数,筛法 2.最大公约数和最小公倍数 3.快速幂 4.约数 前言 现在针对CSP-J/S组的第一题主要都是数论,换句话说,持数论之剑,可行天下矣! 一、数论有哪些 数论 原根,素数判断,质数,筛法最大公约数…...
知识分享 钡铼网关功能介绍:使用SSLTLS 加密,保证MQTT通信安全
背景 为了使不同的设备或系统能够相互通信,让旧有系统和新的系统可以集成,通信更加灵活和可靠。以及将数据从不同的来源收集并传输到不同的目的地,实现数据的集中管理和分发。 通信网关完美克服了这一难题,485或者网口的设备能通过…...
asp.net core mvc区域路由
ASP.NET Core 区域路由(Area Routing)是一种将应用程序中的路由划分为多个区域的方式,类似于 MVC 的控制器和视图的区域划分。区域路由可以帮助开发人员更好地组织应用程序的代码和路由,并使其更易于维护。 要使用区域路由&#…...
KNN(下):数据分析 | 数据挖掘 | 十大算法之一
⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据…...
流匹配FM:从概率路径到生成式AI的统一视角
1. 流匹配FM:生成式AI的新范式 第一次听说流匹配(Flow Matching,简称FM)这个概念时,我正在调试一个扩散模型项目。当时被反向传播过程中庞大的计算量折磨得焦头烂额,直到发现FM这个"黑科技"才豁然…...
YOLO模型迭代升级实战:用‘旧模型’微调‘新数据’,学习率与批量大小(Batch Size)联调全攻略
YOLO模型迭代升级实战:用‘旧模型’微调‘新数据’,学习率与批量大小联调全攻略 深夜的办公室里,咖啡杯已经见底,屏幕上闪烁的是一组令人头疼的检测结果——白天训练得近乎完美的YOLOv8模型,在夜间监控画面中频繁漏检。…...
如何永久保存微信聊天记录:本地化数据备份的终极指南
如何永久保存微信聊天记录:本地化数据备份的终极指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChat…...
深入浅出QSPI:从SPI协议演进到Flash控制器设计的那些“坑”与最佳实践
深入浅出QSPI:从SPI协议演进到Flash控制器设计的那些“坑”与最佳实践 在嵌入式系统设计中,存储器的访问效率往往成为性能瓶颈的关键所在。当工程师们从传统的并行NOR Flash转向串行Flash解决方案时,QSPI(Quad SPI)技术…...
形态学算子实战指南:腐蚀、膨胀、开闭运算在工业检测中的精准应用
1. 工业检测中的形态学基础:从理论到实战 第一次接触形态学算子是在五年前的PCB板缺陷检测项目上。当时产线上有批电路板总是出现微小的短路和断路问题,传统阈值分割怎么调参数都搞不定。直到老工程师扔给我一行HALCON代码:opening_circle(Re…...
从零开始搭建数据湖:Hudi/Iceberg/Paimon保姆级入门指南
从零开始搭建数据湖:Hudi/Iceberg/Paimon保姆级入门指南 数据湖技术正在重塑现代数据架构的格局。不同于传统数据仓库的严格模式约束,数据湖以其灵活性和扩展性成为企业处理海量异构数据的首选方案。在众多开源数据湖解决方案中,Apache Hudi、…...
效果惊艳!实时口罩检测-通用镜像实测:精准识别戴口罩与未戴口罩
效果惊艳!实时口罩检测-通用镜像实测:精准识别戴口罩与未戴口罩 1. 引言:口罩检测的智能化解决方案 在公共场所健康管理中,快速准确地识别口罩佩戴情况一直是个挑战。传统的人工检查方式不仅效率低下,还容易因疲劳导…...
美胸-年美-造相Z-Turbo应用场景解析:如何快速生成定制化人物肖像
美胸-年美-造相Z-Turbo应用场景解析:如何快速生成定制化人物肖像 1. 产品概述与核心价值 美胸-年美-造相Z-Turbo是一款基于Xinference部署的文生图模型服务,专门用于生成具有东方美学特征的定制化人物肖像。该产品融合了Z-Image-Turbo架构的高效生成能…...
STM32F746NG LCD驱动:LTDC+DMA2D双缓冲显示实现
1. 项目概述LCD_DISCO_F746NG是专为 STMicroelectronics DISCO_F746NG 开发板设计的 LCD 显示驱动类,面向 STM32F746NG 微控制器平台。该类直接操控开发板上集成的RK043FN48H-CT672B型 TFT-LCD 模块——一款 4.3 英寸、分辨率为 480272 像素、支持 16 位 RGB565 接口…...
CoPaw多模型对比与评测指南:如何选择适合业务的开源模型
CoPaw多模型对比与评测指南:如何选择适合业务的开源模型 1. 为什么需要模型评测 在开源大模型百花齐放的今天,技术团队面临一个共同难题:如何在众多选项中选出最适合业务需求的模型?盲目跟风选择热门模型往往导致资源浪费和效果…...
