Press "Enter" to skip to content

Posts tagged as “hex”

花花酱 LeetCode 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”

Solution: Simulation

if input is negative, add 2^32 to it (e.g. set the highest bit to 1)
while num is non zero, mod it by 16 and prepend the remainder to ans string, then divide num by 16.

Time complexity: O(logn)
Space complexity: O(logn)

C++

花花酱 LeetCode 1271. Hexspeak

A decimal number can be converted to its Hexspeak representation by first converting it to an uppercase hexadecimal string, then replacing all occurrences of the digit 0 with the letter O, and the digit 1 with the letter I.  Such a representation is valid if and only if it consists only of the letters in the set {"A", "B", "C", "D", "E", "F", "I", "O"}.

Given a string num representing a decimal integer N, return the Hexspeak representation of N if it is valid, otherwise return "ERROR".

Example 1:

Input: num = "257"
Output: "IOI"
Explanation:  257 is 101 in hexadecimal.

Example 2:

Input: num = "3"
Output: "ERROR"

Constraints:

  • 1 <= N <= 10^12
  • There are no leading zeros in the given string.
  • All answers must be in uppercase letters.

Solution: Simulation

Time complexity: O(logn)
Space complexity: O(logn)

C++

花花酱 LeetCode 800. Simple RGB Color

Problem

In the following, every capital letter represents some hexadecimal digit fromĀ 0Ā toĀ f.

The red-green-blue colorĀ "#AABBCC"Ā can be writtenĀ asĀ "#ABC"Ā inĀ shorthand.Ā  For example,Ā "#15c"Ā is shorthand for the colorĀ "#1155cc".

Now, say the similarity between two colorsĀ "#ABCDEF"Ā andĀ "#UVWXYZ"Ā isĀ -(AB - UV)^2 -Ā (CD - WX)^2 -Ā (EF - YZ)^2.

Given the colorĀ "#ABCDEF", return a 7 character colorĀ that is most similar toĀ #ABCDEF, and has a shorthand (that is, it can be represented as someĀ "#XYZ"

Example 1:
Input: color = "#09f166"
Output: "#11ee66"
Explanation:  
The similarity is -(0x09 - 0x11)^2 -(0xf1 - 0xee)^2 - (0x66 - 0x66)^2 = -64 -9 -0 = -73.
This is the highest among any shorthand color.

Note:

  • colorĀ is a string of lengthĀ 7.
  • colorĀ is a valid RGB color: forĀ i > 0,Ā color[i]Ā is a hexadecimal digit fromĀ 0Ā toĀ f
  • Any answer which has the same (highest)Ā similarity as the best answer will be accepted.
  • All inputs and outputs should use lowercase letters, and the output is 7 characters.

Solution: Brute Force

R, G, B are independent, find the closest color for each channel separately.

Time complexity: O(3 * 16)

Space complexity: O(1)

 

[ZOJ] 3713: In 7-bit