风起鸿庄Nirvana 2021-08-14 21:24 采纳率: 85.7%
浏览 57
已结题

请问这段python代码我应该怎么改?

img


class Solution:
    def findSmallest(nums):
        smallest=nums[0]
        smallest_index=0
        for i in range(1,len(nums)):#0已经设置完了
            if smallest>nums[i]:
                #它不需要储存中间值,因为python是重建一个列表,并把重建的列表元素储存在新列表中
                smallest=nums[i]
                #不过底部的索引必须记住
                smallest_index=i
    def containsDuplicate(self, nums: List[int]) -> bool:
        newNums=[]
        for i in range(len(nums)):
            smallest=findSmallest(nums)
            newNums.append(nums.pop(smallest))
        for i in range(len(newNums)):
            if newNums[i]==newNums[i+1]:
                return true
                break
        return false
    

我知道用python一行就可以解决,但我还是想用这种选择排序再比较相邻元素的方法,因为是我自己想出来的方法
报错信息如下:
NameError: name 'findsmallest' is not defined
smallest=findsmallest(nums)
Line 14 in containsDuplicate (Solution.py)
ret = Solution().containsDuplicate(param_1)
Line 43 in _driver (Solution.py)
_driver()
Line 54 in (Solution.py)

  • 写回答

2条回答 默认 最新

  • Pliosauroidea 2021-08-15 10:57
    关注

    按你的思路写了一个简化版本

    
    from typing import Mapping
    
    
    test_num_lists = [
        [5, 2, 0, 6, 8, 9, 1, 20, 15, 18],  # 无重复
        [19, 38, 24, 15, 800, 1],  # 无重复
        [59, 48, 35, 19, 59, 78],  # 有重复
        [],  # 空
        [1]  # 单个元素
    ]
    
    
    def solution(num_list: list):
        num_list.sort()  # 排序
        last_num = 0  # 存储上一个数据
        list_index = 0  # 存储index
        for each in num_list:
            if list_index > 0:  # 如果不是第一个数:
                if each == num_list[list_index - 1]:  # 比较
                    return True  # 有重复,记得True关键字首字母要大写
            # else:pass
            list_index += 1
        return False  # 如果扫描完文档还没找到重复数字
    
    
    for num_list in test_num_lists:
        print(solution(num_list))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月24日
  • 已采纳回答 8月16日
  • 创建了问题 8月14日

悬赏问题

  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号