博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
5.12-leepcode 作业详解
阅读量:5336 次
发布时间:2019-06-15

本文共 1290 字,大约阅读时间需要 4 分钟。

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) 的额外空间解决这一问题。

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

return s.reverse()

转载于:https://www.cnblogs.com/raynduan/p/10853945.html

你可能感兴趣的文章
CDN、浏览器缓存
查看>>
Python+opencv图像识别
查看>>
字节流VS缓冲流
查看>>
也谈用友被面试经历【去年杭州用友被拒】
查看>>
伴随开发人员成长的问题:工程重要,还是算法重要?细节重要,还是架构重要?...
查看>>
GTK添加事件
查看>>
linux----tail 过滤日志文件中的关键字
查看>>
图论最短路径例题
查看>>
C#设计模式——适配器模式(Adapter Pattern)
查看>>
計蒜客/小教官(xjb)
查看>>
Linux文件和目录
查看>>
Faster_RCNN 2.模型准备(上)
查看>>
ANDROID 2.0游戏开发实战宝典pdf
查看>>
《Android 4高级编程(第3版)》(完整书签).pdf
查看>>
pku 2195 Going Home 最小费最大流问题
查看>>
第四届ACM_DIY群程序设计竞赛 (部分解题报告) 弱菜在此大牛无视。。。
查看>>
通货膨胀 通货紧缩 贸易逆差
查看>>
第四章 Spring.Net 如何管理您的类___让对象了解自己的容器
查看>>
cocos creator制作微信小游戏
查看>>
JavaScript基础函数---李老师的
查看>>