• LeetCode 1 _ 两数之和


    1. 题目描述

    2. 代码

     1 class Solution:
     2     def twoSum(self, nums: 'List[int]', target: int) -> 'List[int]':
     3         s = {}
     4         for i in range(len(nums)):
     5             n = nums[i]
     6             cop = target - n
     7             if cop in s.keys():
     8                 return [s[cop],i]
     9             s[nums[i]] = i
    10         return  []

    思路: 遍历数组, 若target与当前值的差在字典s中, 则返回差值的索引和当前遍历的索引.

                              若target与当前值的差不在字典s中, 则把当前遍历数组的值和索引更新到字典s中.

    3. 语法整理

    3.1 字典

    1 d = {key1 : value1, key2 : value2 }

    3.2 访问字典的值: 把相应的键放入到方括号中

    1 dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    2 print ("dict['Name']: ", dict['Name'])
    3 print ("dict['Age']: ", dict['Age'])
    1 dict['Name']:  Runoob
    2 dict['Age']:  7

    3.3 修改字典

    1 dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    2  
    3 dict['Age'] = 8               # 更新 Age
    4 dict['School'] = "菜鸟教程"  # 添加信息

    3.4 字典keys()方法: 以列表返回一个字典所有的键.

    1 dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    2 print(dict.keys()) 
    1 dict_keys(['Name', 'Age', 'Class'])

    补充自己写的一种方法,通过2个循环实现

    1 class Solution:
    2     def twoSum(self, nums: List[int], target: int) -> List[int]:
    3         n = len(nums)
    4         for i in range(n-1):
    5             for j in range(i+1,n):
    6                 if nums[i] + nums[j] == target:
    7                     return [i,j]
  • 相关阅读:
    写代码的自动提示是怎么出来的...我的WebStorm中不能自动提示Bootstrap中的样式呢
    bootstrap 中是通过写less文件来生成css文件,用什么工具来编写呢?
    flexbox弹性盒模型
    oninput 属性
    操作文件
    深拷贝、浅拷贝、集合
    常用字符串方法
    字典-小练习
    字典
    元组
  • 原文地址:https://www.cnblogs.com/vvzhang/p/13785991.html
Copyright © 2020-2023  润新知