zoukankan      html  css  js  c++  java
  • leepcode题目详解1

    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()
    
  • 相关阅读:
    C语言经典算法100例-039-排序队列中插入新元素
    C语言经典算法100例-037-给10个数排序
    C语言经典算法100例-036-求100之内的素数
    C语言经典算法100例-032~35
    C语言经典算法100例-031-判断星期几
    安卓 短信页面设置(线性布局)
    CSS样式表
    HTML表单
    第1部分 HTML 表格
    多线程
  • 原文地址:https://www.cnblogs.com/raynduan/p/10853945.html
Copyright © 2011-2022 走看看