当前位置:   article > 正文

leecode#Excel表列名称#多数元素_c# 代码多数元素 leecode

c# 代码多数元素 leecode

题目描述:

给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。

分析:

由于Excel 表的列名称由大写字母组成,大写字母共有 2626 个,因此列名称的表示实质是 26 进制,需要将 26 进制转换成十进制。

这道题和标准的进制转换不同,Excel 表的列序号是从 1 开始的,因此在进制转换时需要进行处理。

当列名称的长度为 n 时,列名称的每个字母都有 26 种不同的取值,因此长度为 n 的不同列名称有 26^n 个。

代码:

  1. class Solution:
  2. def convertToTitle(self, columnNumber):
  3. ans = list()
  4. while columnNumber > 0:
  5. a0 = (columnNumber - 1) % 26 + 1
  6. ans.append(chr(a0 - 1 + ord("A")))
  7. columnNumber = (columnNumber - a0) // 26
  8. return "".join(ans[::-1])

题目描述:

给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。

你可以假设数组是非空的,并且给定的数组总是存在多数元素。

分析:

用哈希表来快速统计每个元素出现的次数

使用哈希映射(HashMap)来存储每个元素以及出现的次数。对于哈希映射中的每个键值对,键表示一个元素,值表示该元素出现的次数。

我们用一个循环遍历数组 nums 并将数组中的每个元素加入哈希映射中。在这之后,我们遍历哈希映射中的所有键值对,返回值最大的键。我们同样也可以在遍历数组 nums 时候使用打擂台的方法,维护最大的值,这样省去了最后对哈希映射的遍历。

collections的用法:(99条消息) Python collections.Counter()用法_pvop的博客-CSDN博客_python中collections.counter()

代码:

  1. class Solution:
  2. def majorityElement(self, nums: List[int]) -> int:
  3. counts = collections.Counter(nums)
  4. return max(counts.keys(), key=counts.get)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/730774
推荐阅读
相关标签
  

闽ICP备14008679号