当前位置: 移动技术网 > IT编程>脚本编程>Python > 5.12-leepcode 作业详解

5.12-leepcode 作业详解

2019年05月13日  | 移动技术网IT编程  | 我要评论

丝尚,浙江卫视节目表今天,希伯特币

leepcode 作业详解

1、给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。

正确解答

class solution:
    def containsduplicate(self, nums: list[int]) -> bool:
        nums_set=set(nums)
        return (len(nums_set) != len(nums))

第一次用字典去解题,出现bug,虽然在pycharm里面代码运行正常,但是leepcode显示错误。

class solution:
    def containsduplicate(self, nums: list[int]) -> bool:
        lis1=[1,2,3,1]
        dic={}
        for i in lis1:
            if i  in dic:
                dic[i] += 1
            else:
                dic[i] = 1
        if dic[i] >=2:
            return (dic[i]>=2)
        else:
            return (dic[i] >= 2)
            
        ##if dic[i] >=2:
            ##print('true')
        ##else:
            ##print('false')

2、给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

class solution:
    def twosum(self, nums: list[int], target: int) -> list[int]:
        nums = [2,7,11,15]
        target = 9
        for i in range(len(nums)):
            if i < (len(nums) -1):
                if nums[i] + nums[i+1] == target:
                    return(i,i+1)
               

3、编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。

不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 o(1) 的额外空间解决这一问题。

你可以假设数组中的所有字符都是 ascii 码表中的可打印字符。

return s.reverse()

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网