每日Leetcode—算法(15)

167. 两数之和 II - 输入有序数组

算法:

def twoSum(self, numbers, target):
    dic = {}       
    r = []
    for i in range(len(numbers)):
        if numbers[i] in dic.keys():
            r.append(dic[numbers(i)]+1)
            r.append(i+1)
            return r
        dic[target - numbers[i]] = i
    return None

分析:使用字典是最快捷的方法

168. Excel表列名称

算法:

def convertToTitle(self, n):
    r = ''
    while n!=0:
        r = chr((n-1)%26 + 65) + r
        n = (n-1)//26 

169. 求众数

算法一:

def majorityElement(self, nums):
    dic = {}
    r = []
    for i in range(len(nums)):      #计算数字出现次数,存入字典
        if nums[i] in dic.keys():
            dic[nums[i]] += 1
        else:
            dic[nums[i]] = 1
    times = len(nums)//2
    for i in dic.keys():          #找到众数
        if dic[i] > times:
            return i

算法二:

def majorityElement(self, nums):
    return sorted(nums)[len(nums)//2]

分析:注意题目中存在众数,所以直接可以将数组按大小排序,输出中间值。

171. Excel表列序号

算法:

def titleToNumber(self, s):
    r = 0
    for i in range(len(s)-1,-1,-1):      #将字符串倒序,i也为倒序
        r += ord(s[i]-65+1) * 26**(len(s)-i-1)
    return r
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • LeetCode 刷题随手记 - 第一部分 前 256 题(非会员),仅算法题,的吐槽 https://leetc...
    蕾娜漢默阅读 18,409评论 2 36
  • 110- 平衡二叉树 问题 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一...
    aaanthony阅读 536评论 0 0
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 12,511评论 6 13
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 6,012评论 0 9
  • 按照 探索 中初级-中级-高级的顺序刷题,下面是目前完成的题解,未完成版,随时更新。 18/08/30更新 回溯算...
    whd_Alive阅读 438评论 0 2

友情链接更多精彩内容