#
# @lc app=leetcode id=405 lang=python3
#
# [405] Convert a Number to Hexadecimal
#
# https://leetcode.com/problems/convert-a-number-to-hexadecimal/description/
#
# algorithms
# Easy (42.72%)
# Likes:    337
# Dislikes: 90
# Total Accepted:    56.2K
# Total Submissions: 130.9K
# Testcase Example:  '26'
#
# 
# 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"
# 
# 
#

# @lc code=start
class Solution:
    def toHex(self, num: int) -> str:
        if num>=0:
            return hex(num)[2:]
        else:
            return hex(~(16**8+num)+1)[3:]
# @lc code=end


#
# @lc app=leetcode id=405 lang=python3
#
# [405] Convert a Number to Hexadecimal
#
# https://leetcode.com/problems/convert-a-number-to-hexadecimal/description/
#
# algorithms
# Easy (42.72%)
# Likes:    337
# Dislikes: 90
# Total Accepted:    56.2K
# Total Submissions: 130.9K
# Testcase Example:  '26'
#
# 
# 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"
# 
# 
#

# @lc code=start
class Solution:
    def toHex(self, num: int) -> str:
        if num>=0:
            return hex(num)[2:]
        else:
            return hex(~(16**8+num)+1)[3:]
# @lc code=end


# # @lc app=leetcode id=405 lang=python3 # # [405] Convert a Number to Hexadecimal # # https://leetcode.com/problems/convert-a-number-to-hexadecimal/description/ # # algorithms # Easy (42.72%) # Likes:    337 # Dislikes: 90 # Total Accepted:    56.2K # Total Submissions: 130.9K # Testcase Example:  '26' # # # 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" # # # # @lc code=start # @lc code=end