LeetCode刷题(0007)---504. 七进制数,python

11 篇文章 0 订阅
1 篇文章 0 订阅

LeetCode—504. 七进制数

01题目描述:

给定一个整数,将其转化为7进制,并以字符串形式输出。

示例


输入: 100
输出: "202"
示例 2:

输入: -7
输出: "-10"

注意: 输入范围是 [-1e7, 1e7] 。

02题目分析:

首先要注意到的是输出的范围是[-1e7, 1e7],。我刚刚开始就没有考虑到这一个问题。正常来说输入一个 -7 应该输出的结果是 -10 ,但是我的输出是 1-0 这一个符号 - 的位置没有处理好。所以我就在前面直接的 abs 一哈。再去处理,这样的话无论是正数还是负数的处理方式都是一样。但是这样的话,正负都一样了啊,所以在题目的最前面设置一个 flag ,默认是 0 ,接着判断,如果是 num>0 的话就赋值为 flag=1 .这样就把正负区分开来了.最后返回 return 的时候判断一哈,是否拼接符号 - 就可以了!

03解答:


class Solution:
    def convertToBase7(self, num: int) -> str:
        str1 = ''
        flag =0
        if abs(num)==num:
            flag=1
        num = abs(num)
        while num >6:
            Remainder = num%7
            num = num // 7
            str1 = str1 + str(Remainder)
        str1 = str1+str(num)
        if flag==1:
            return str1[::-1]
        else:
            return '-'+str1[::-1]
            

运行结果:

在这里插入图片描述

3.1耗时分布情况

在这里插入图片描述

3.2内存使用情况

在这里插入图片描述

04结语:

个人记录,新手入门,多多学习,欢迎大家交流探讨!
个人网站: http://106.54.78.238/
song_of _sea的个人网站 http://106.54.78.238/

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值