【leetcode 简单】 第九十五题 数字转换为十六进制数

给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。

注意:

  1. 十六进制中所有字母(a-f)都必须是小写。
  2. 十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符‘0‘来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。
  3. 给定的数确保在32位有符号整数范围内。
  4. 不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法。

示例 1:

输入:
26

输出:
"1a"

示例 2:

输入:
-1

输出:
"ffffffff"
class Solution(object):
    def toHex(self, num):
        """
        :type num: int
        :rtype: str
        http://bookshadow.com/weblog/2016/09/25/leetcode-convert-a-number-to-hexadecimal/
        """
        ans = []
        hexs = ‘0123456789abcdef‘
        if num < 0: num += 0x100000000
        while num:
            ans.append(hexs[num % 16])
            num /= 16
        return ‘‘.join(ans[::-1]) if ans else ‘0‘

原文地址:https://www.cnblogs.com/flashBoxer/p/9545540.html

时间: 2024-08-30 09:33:32

【leetcode 简单】 第九十五题 数字转换为十六进制数的相关文章

LeetCode第三十五题-寻找数组中对应目标值的首尾索引

Search Insert Position 问题简介:寻找数组中元素与target的关系 注: 1.target小于数组所有元素时返回0 2.target大于数组所有元素时返回数组长度 3.target不包含于数组元素中,但取值区间在其中,返回对应的索引 举例: 1: 输入: [1,3,5,6], 5 输出: 2 2: 输入: [1,3,5,6], 2 输出: 1 3: 输入: [1,3,5,6], 7 输出: 4 4: 输入: [1,3,5,6], 0 输出: 0 解法一:比较简单的解法就是

LeetCode第四十五题-跳跃游戏

Jump Game II 问题简介:这是一个跳跃游戏,规则是通过给定一个非负整数数组,最开始就处于数组第一位即索引为0处,数组元素数值代表可以跳跃的最大值,要求通过最小的跳跃次数达到数组最后的索引处 举例: 输入: [2,3,1,1,4] 输出: 2 解释: 这个数组的最小跳跃值是2,第一次从索引0处跳跃1到索引1处,第二次跳跃3到结尾处 解法一: 当数组长度为1即无法跳跃,结果为0,找到每个点可以达到的最右端的值,进行判定 小白刷题之路,请多指教— — 要么大器晚成,要么石沉大海 原文地址:h

【leetcode 简单】第五题 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀. 说明: 所有输入只包含小写字母 a-

【leetcode 简单】 第九十六题 最长回文串

给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意: 假设字符串的长度不会超过 1010. 示例 1: 输入: "abccccdd" 输出: 7 解释: 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7. class Solution(object): def longestPalindrome(self, s): &quo

经典算法题每日演练——第二十五题 块状链表

原文:经典算法题每日演练--第二十五题 块状链表 在数据结构的世界里,我们会认识各种各样的数据结构,每一种数据结构都能解决相应领域的问题,每一种数据结构都像 是降龙十八掌中的某一掌,掌掌毙命... 当然每个数据结构,有他的优点,必然就有它的缺点,那么如何创造一种数据结构 来将某两种数据结构进行扬长避短,那就非常完美了.这样的数据结构也有很多,比如:双端队列,还有就是今天讲的 块状链表, 我们都知道 数组 具有 O(1)的查询时间,O(N)的删除,O(N)的插入... 链表 具有 O(N)的查询时

code第一部分数组:第十五题 矩阵翻转(图像翻转)

code第一部分数组:第十五题 矩阵翻转(图像翻转) 首先想到,纯模拟,从外到内一圈一圈的转,但这个方法太慢.如下图,首先沿着副对角线翻转一次,然后沿着水平中线翻转一次. 源代码 #include <iostream> #include <vector> using namespace std; //引用类型形参 void swap(int &n,int &m) { int temp=n; n=m; m=temp; } //指针类型形参 void swap1(int

经典算法题每日演练——第十五题 并查集

原文:经典算法题每日演练--第十五题 并查集 这一篇我们看看经典又神奇的并查集,顾名思义就是并起来查,可用于处理一些不相交集合的秒杀. 一:场景 有时候我们会遇到这样的场景,比如:M={1,4,6,8},N={2,4,5,7},我的需求就是判断{1,2}是否属于同一个集合,当然实现方法 有很多,一般情况下,普通青年会做出O(MN)的复杂度,那么有没有更轻量级的复杂度呢?嘿嘿,并查集就是用来解决这个问题的. 二:操作 从名字可以出来,并查集其实只有两种操作,并(Union)和查(Find),并查集

【leetcode 简单】第十七题 二进制求和

实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去. 示例 1: 输入: 4 输出: 2 示例 2: 输入: 8 输出: 2 说明: 8 的平方根是 2.82842...,   由于返回类型是整数,小数部分将被舍去. #define PF(w) ((w)*(w)) int mySqrt(int x) { int start = 0; int end = x; double mid = 0; i

405 Convert a Number to Hexadecimal 数字转换为十六进制数

给定一个整数,编写一个算法将这个数转换为十六进制数.对于负整数,我们通常使用 补码运算 方法.注意:    十六进制中所有字母(a-f)都必须是小写.    十六进制字符串中不能包含多余的前导零.如果要转化的数为0,那么以单个字符'0'来表示:对于其他情况,十六进制字符串中的第一个字符将不会是0字符.     给定的数确保在32位有符号整数范围内.    不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法.示例 1:输入:26输出:"1a"示例 2:输入:-1输出:"