zoukankan      html  css  js  c++  java
  • 414. 第三大的数

     

    两中写法都过了。

    学到的是sorted()函数排其他可迭代对象后返回值是list类型。

    代码一:

     1 class Solution(object):
     2     def thirdMax(self, nums):
     3         """
     4         :type nums: List[int]
     5         :rtype: int
     6         """
     7         # 转set去重
     8         s = set(nums)
     9         # 在转回list
    10         # nums = list(s)
    11         # 降序排
    12         # nums.sort(reverse=True)
    13         # sorted()函数排序后返回的是list类型
    14         nums = sorted(s, reverse=True)
    15         if len(s) < 3:
    16             return nums[0]
    17         else:
    18             return nums[2]

    代码二:

     1 class Solution(object):
     2     def thirdMax(self, nums):
     3         """
     4         :type nums: List[int]
     5         :rtype: int
     6         """
     7         # 升序排
     8         nums.sort()
     9         index = 1
    10         # 暂存nums最后一个元素
    11         temp = nums[-1]
    12         # 从倒数第二个元素倒序遍历
    13         for j in range(len(nums) - 2, -1, -1):
    14             if index == 3:
    15                 return temp
    16             if nums[j] == temp:
    17                 nums.pop(j)
    18             else:
    19                 temp = nums[j]
    20                 index += 1
    21         if index != 3:
    22             return nums[-1]
    23         else:
    24             return temp
  • 相关阅读:
    数组和类集排序总结
    toString()方法
    冒泡排序java
    Scanner类输入字符串和整形数字
    身份证分组
    jsonp的实质
    在伪数组上部署iterator方法
    获取属性的方法
    合并以及对于引用克隆
    深度复制对象已解决循环引用
  • 原文地址:https://www.cnblogs.com/panweiwei/p/12757650.html
Copyright © 2011-2022 走看看