ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Leetcode 刷题必须Review 十三 Lintcode(479 235 1781 1784 958)

2022-02-25 18:00:47  阅读:162  来源: 互联网

标签:958 code return nums 1781 Review num self def


文章目录

479 · 数组第二大数

在数组中找到第二大的数。
在这里插入图片描述

def secondMax(self, nums):
        # write your code here
        nums.sort()
        return nums[-2]

官方答案,打擂台:

def secondMax(self, nums):
        # write your code here
        maxValue = max(nums[0], nums[1])
        secValue = min(nums[0], nums[1])
        
        for i in xrange(2, len(nums)):
            if nums[i] > maxValue:
                secValue = maxValue
                maxValue = nums[i]
            elif nums[i] > secValue:
                secValue = nums[i]
                
        return secValue

之前写的答案:

def secondMax(self, nums):
        # write your code here
        que = []
        heapq.heapify(que)
        for num in nums:
            heapq.heappush(que, num)
            if len(que) > 2:
                heapq.heappop(que)
        return que[0]

235 · 分解质因数

将一个整数分解为若干质因数之乘积。

在这里插入图片描述
不会,直接看答案:
在这里插入图片描述

def primeFactorization(self, num):
        up = int(num**0.5 + 1)
        ans = []
        for i in range(2,up):
            while num % i == 0:
                num /= i
                ans += [i]
        # 若最后剩余数不为1,则为最后一个质因数
        if num != 1:
            ans += [num]
        return ans

1781 · 反转ASCII编码字符串

给定一个由ascii编码的字符串(例如,“ABC”可以编码为“656667”),您需要编写一个将编码字符串作为输入并返回反转的解码字符串的函数。

在这里插入图片描述

def reverseAsciiEncodedString(self, encodeString):
        # Write your code here
        s = ""
        for i in range(0, len(encodeString), 2):
            s += chr(int(encodeString[i:i+2]))
        return s[::-1]

1784 · 减小为回文

给定一个由 a-z 组成的字符串 s. 欲通过以下操作把 s 变成回文串:
在这里插入图片描述
在这里插入图片描述
想了半天没想出来,看了自己之前写的。。。

def numberOfOperations(self, s):
        # Write your code here
        l, r = 0, len(s) - 1
        count = 0
        while l <= r:
            count += abs(ord(s[r]) - ord(s[l])) 
            l += 1
            r -= 1
        return count

958 · 回文数据流

一个数据流进来,每次一个小写字母,当前数据流的排列是否能组成回文串。
在这里插入图片描述
不会,看我之前写的答案,没看懂。

def getStream(self, s):
        # Write your code here
        if not s or len(s) == 0: return []

        res = [0 for _ in range(len(s))]
        letters = [0 for _ in range(26)]
        odd_count = 0

        for i, cha in enumerate(s):
            letters[ord(cha) - ord('a')] += 1
            if letters[ord(cha) - ord('a')] % 2 == 1:
                odd_count += 1
            else:
                odd_count -= 1
            
            res[i] = 0 if odd_count > 1 else 1
        
        return res

标签:958,code,return,nums,1781,Review,num,self,def
来源: https://blog.csdn.net/weixin_43716712/article/details/123136797

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有