hg真人游戏官方网站 2026-05-01: 整数的镜像距离。用go话语, 给定一个整数 n, 请筹划

2026-05-01:整数的镜像距离。用go话语,给定一个整数 n,请筹划它与其数字倒序后的数之间的差的填塞值。
其中,倒序后的数是把 n 的每一位数字反过来得到的新整数。
请复返这个填塞值闭幕。
1
输入: n = 25。
输出: 27。
评释:
reverse(25) = 52。
因此,谜底为 abs(25 - 52) = 27。
题目来独力扣3783。
一、分步精通执行过程
第一步:标准进口启动
标准从 main 函数出手运行,这是Go话语标准的执行开始。
1. 界说变量 n,并赋值为题目给定的输入值 25。
2. 调用中枢筹划函数 mirrorDistance(25),把 25 算作参数传入,出手筹划镜像距离。
第二步:执行 mirrorDistance 函数(筹划镜像距离)
这个函数的作用是:求原数和回转数的差的填塞值,执行形状:
1. 罗致传入的参数:原数 n = 25。
2. 调用 reverse 函数,传入 25,筹划数字回转后的闭幕,恭候函数复返回转值。
3. 拿到回转闭幕后,筹划:原数 - 回转数。
4. 判断筹划闭幕是否小于0:
• 要是小于0,取它的相悖数(也等于填塞值);
• 要是大于等于0,平直复返闭幕。
5. 将最终的填塞值复返给 main 函数。
第三步:执行 reverse 函数(数字回转中枢)
这个函数的作用是:把整数的每一位数字倒序摆列,生成新整数,以输入 25 为例,形状:
1. 开动化一个闭幕变量 res,赋值为 0,用来存储回转后的数字。
2. 干预轮回:轮回要求是现时数字大于 0,HG官网(Hgame)唯罕有字没处治完就一直轮回。
• 第一次轮回(现时数字=25):
取数字的临了一位:25 对 10 取余,得到 5;
拼接回转数字:res = 0*10 + 5,res 变为 5;
去掉临了一位:25 除以 10(取整数),数字变为 2。
• 第二次轮回(现时数字=2):
取临了一位:2 对 10 取余,得到 2;
拼接回转数字:res = 5*10 + 2,res 变为 52;
去掉临了一位:2 除以 10,数字变为 0。
3. 轮回竣事(数字变为0,不骄气轮回要求)。
4. 将最终的回转闭幕 52 复返给 mirrorDistance 函数。
第四步:回到 mirrorDistance 函数完成筹划
1. 筹划差值:原数 25 - 回转数 52 = -27;
2. 判断差值:-27 小于 0,因此取它的相悖数 27;
3. 将闭幕 27 复返给 main 函数。
第五步:main 函数输出闭幕
1. 罗致 mirrorDistance 函数复返的闭幕 27;
2. 打印输出闭幕,最终适度台线路:27。
二、技能复杂度 & 颠倒空间复杂度分析
1. 总技能复杂度
技能复杂度取决于数字回转函数 reverse 的轮回次数:
• 轮回执行的次数 = 整数 n 的数字位数(比如 25 是2位,轮回2次;1234是4位,轮回4次)。
• 假定整数 n 的位数为 k,技能复杂度为 O(k)。
• 题目次第 n ≤ 1000000000,最大位数是10位,轮回最多执行10次,属于常数级技能复杂度。
2. 总数外空间复杂度
标准运行过程中:
• 只创建了固定数目的变量(res、diff、n等);
• 莫得使用数组、切片、map等动态扩容的数据结构;
• 不管输入数字多大,占用的颠倒内存空间齐是固定不变的。
因此总数外空间复杂度为:O(1)(常数级空间复杂度)。
纪念
1. 无缺历程:启动标准→传入数值→回转数字→筹划差值→取填塞值→输出闭幕;
2. 技能复杂度:O(k)(k为数字的位数);
3. 颠倒空间复杂度:O(1)。
Go无缺代码如下:
package main
import (
"fmt"
)
func reverse(n int)int {
res := 0
for n > 0 {
res = res*10 + n
n /= 10
}
return res
}
func mirrorDistance(n int)int {
diff := n - reverse(n)
if diff
return -diff
}
return diff
}
func main {
n := 25
result := mirrorDistance(n)
fmt.Println(result)
}

Python无缺代码如下:
# -*-coding:utf-8-*-
def reverse(n: int) -> int:
res = 0
while n > 0:
res = res * 10 + n % 10
n //= 10
return res
def mirror_distance(n: int) -> int:
diff = n - reverse(n)
return -diff if diff
def main:
n = 25
result = mirror_distance(n)
print(result)
if __name__ == "__main__":
main

C++无缺代码如下:
#include
using namespace std;
int reverse(int n) {
int res = 0;
while (n > 0) {
res = res * 10 + n % 10;
n /= 10;
}
return res;
}
int mirrorDistance(int n) {
int diff = n - reverse(n);
if (diff
return -diff;
}
return diff;
}
int main {
int n = 25;
int result = mirrorDistance(n);
cout
return0;
}

咱们服气东谈主工智能为平凡东谈主提供了一种“增强器具”,并戮力于于共享全标的的AI常识。在这里,您不错找到最新的AI科普著作、器具评测、晋升恶果的诡秘以及行业知悉。
宽宥情愫“福大大架构师逐日一题”,发音信可得回口试贵寓hg真人游戏官方网站,让AI助力您的改日发展。
米兰MILAN(中国)体育官网上一篇:hg真人 煤场扬尘严重如何办,选对防尘网是要道 下一篇:hg真人 江波龙:公司企业级存储产物已导入头部互联网企业供应链体系中,客户涵盖运营商、互联网企业、处事器厂商等







备案号: