代码之家  ›  专栏  ›  技术社区  ›  TheOdinBorson

Leetcode To K频繁元素

  •  -1
  • TheOdinBorson  · 技术社区  · 1 年前

    我正在努力解决这个问题 (给定一个整数数组nums和一个整数k,返回k个最频繁的元素。您可以按任何顺序返回答案。) 通过创建一个hashmap,其中key是列表中的项 nums 该值的配对是该项目出现在列表上的时间量。我循环浏览列表,然后有一个if语句,它检查该项是否已经是字典中的一个键,如果是,它将在其值上加1,如果不是,它将把它作为一个键添加,并给它一个值1。当我运行列表的代码时 nums = [1, 1, 1, 2, 2, 3] ,输出完全错误。这是预期的输出 {1: 3, 2: 2, 3: 1} 相反,我收到 {1: 5, 2: 1} .

    这是我的代码:

    nums = [1,1,1,2,2,3]
    iterations = {}
    
    for x in nums:
        if nums[x] in iterations:
            iterations[nums[x]] += 1
        else:
            iterations[nums[x]] = 1
    
    print(iterations)
    
    1 回复  |  直到 1 年前
        1
  •  1
  •   SaifEddine Missaoui    1 年前

    代码的更正版本

     nums = [1, 1, 1, 2, 2, 3]
     iterations = {}
      
     for x in nums:
         if x in iterations:
             iterations[x] += 1
         else:
             iterations[x] = 1
    
     print(iterations)