LeetCode Majority Element, Excel Sheet Column Title

最近还在赶Python的网络编程日志,反而是无聊编写的LeetCode OJ写完了几个,就放上来水一水吧~

LeetCode Majority Element:题意,给一组数组,返回它的众数

很简单,熟悉一下字典用法。代码如下:

# leetCode Major Element

class Solution:
    # @param num, a list of integers
    # @return an integer
    def majorityElement(self, num):
        dic = {}
        max = 1
        ret = num[0]
        for i in num:
            if i in dic:
                num = dic.get(i)
                num += 1
                if num > max:
                    max = num
                    ret = i
                dic.update({i:num})
            else:
                dic.update({i:1})
        return ret


LeetCode Excel Sheet Column Title:题意,给一个数字,保证大于0,然后给出这个数字对应的在Excel上面的列数

第一反应是10进制转换成26进制,但是有一个点需要注意一下,实际上这个转换当中,A-Y是1-25,Z是0。那么按照这个写一版就OK了

代码如下:

# leetCode Excel Sheet Column Title

class Solution:
    # @return a string
    def convertToTitle(self, num):
        ans = ""
        digital = 26
        values  = {
                1:"A",
                2:"B",
                3:"C",
                4:"D",
                5:"E",
                6:"F",
                7:"G",
                8:"H",
                9:"I",
                10:"J",
                11:"K",
                12:"L",
                13:"M",
                14:"N",
                15:"O",
                16:"P",
                17:"Q",
                18:"R",
                19:"S",
                20:"T",
                21:"U",
                22:"V",
                23:"W",
                24:"X",
                25:"Y",
                26:"Z"}
        if num==0:
            return 'A'
        while num > 0:
            temp = num % digital
            if temp == 0:
                temp = 26
                num -=1
            # print(" %d / %d = %d   and ans is %s   the key is %d " %(num,digital,temp,ans,temp))
            ans = values[temp] + ans
            # pay attention, there is no difference between int and float 
            num = int(num / digital)
        return ans
这里还用了字典,稍微熟悉一下,正好在Python网络编程当中会用到这种功能很强大的操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值