zoukankan      html  css  js  c++  java
  • 405.Convert a Number to Hexadecimal

    Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two’s complement method is used.

    Note:

    • All letters in hexadecimal (a-f) must be in lowercase.
    • The hexadecimal string must not contain extra leading 0s. If the number is zero, it is represented by a single zero character '0'; otherwise, the first character in the hexadecimal string will not be the zero character.
    • The given number is guaranteed to fit within the range of a 32-bit signed integer.
    • You must not use any method provided by the library which converts/formats the number to hex directly.

    Example 1:

    Input:
    26

    Output:
    "1a"

    Example 2:

    Input:
    -1

    Output:
    "ffffffff"

    class Solution:
        def toHex(self, num):
            """
            :type num: int
            :rtype: str
            """
            def positive(num):
                res = []
                while True:
                    res.append(num%16)
                    num = num//16
                    if num==0:
                        break
                for i in range(len(res)):
                    if res[i]<10:
                        res[i] = str(res[i])
                    else:
                        res[i] = chr(87+res[i])
                return ''.join(res)[::-1]
            def negative(num):
                return positive(4294967296+num)
            if num>=0:
                return positive(num)
            else:
                return negative(num)
    
  • 相关阅读:
    HDU 1114 Piggy-Bank
    HDU 2955 Robberies
    NTOJ 290 动物统计(加强版)
    POJ 3624 Charm Bracelet
    HDU 2602 Bone Collector
    POJ 1523 SPF(无向图割顶)
    HDU 5311 Hidden String
    HDU 1421 搬寝室
    HDU 1058 Humble Numbers
    POJ 3259 Wormholes(spfa判负环)
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/9768278.html
Copyright © 2011-2022 走看看