leetcode504. 七进制数

  • 题目描述
  • 解题思路
  • 执行结果
leetcode 504. 七进制数


题目描述

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

示例 1:

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

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

提示:

-107 <= num <= 107

来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/base-7 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路

法1

方法1 取余

  1. 对num取余得到个位上的值,
  2. n=n/7下一位的数据
  3. 一直循环直到<7结束
  • 时间复杂度(O(n))
  • 空间复杂度(O(1))

执行结果

法1

func Base7(num int) (r string) {//将正数转化为7进制数
 for num > 0 {
  r = fmt.Sprintf("%d"+r, num%7)//取余相加
  num /= 7//下一位
 }
 return r
}

// 10转7进制
func convertToBase7(num int) (r string) {
 if num==0{return "0"}//如果为0,直接返回
 if num < 0 {//负数 时
  return "-" + Base7(-num)
 }
 return Base7(num)//正数时
}

执行结果: 通过 显示详情 查看示例代码 添加备注

执行用时: 0 ms , 在所有 Go 提交中击败了 100.00% 的用户 内存消耗: 1.8 MB , 在所有 Go 提交中击败了 61.21% 的用户 通过测试用例: 241 / 241

本文由 mdnice 多平台发布

你可能感兴趣的:(后端)