zoukankan      html  css  js  c++  java
  • python 和为S的两个数字

    输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。

    运用到的知识;

      1.判断是否是统一类型:

        

    1 if not isinstance (array,list):
    2             return l

      2.将 列表 变成  有索引的序列, 同时列出数据和数据下标,一般用在 for 循环当中。

    1 for i,v in enumerate(array):
    2             for v1 in array[i:]:
    3                 if (v + v1 ) == tsum:
    4                     l.append([v,v1])

    思路 不难 :

      整个代码:

      

     1 class Solution:
     2     def FindNumbersWithSum(self, array, tsum):
     3         # write code here
     4         l = []
     5         if not isinstance (array,list):
     6             return l
     7         for i,v in enumerate(array):
     8             for v1 in array[i:]:
     9                 if (v + v1 ) == tsum:
    10                     l.append([v,v1])
    11         if l:
    12             return l[0]
    13         else:
    14             return l

    在网上看到 一种  更简单的:

    https://www.cnblogs.com/yml435/p/4655470.html

    是用 前后索引 来 计算的。更快  应该。

    这道题与 上个题类似。

  • 相关阅读:
    敲七
    二维指针数组**p
    食物链(待解决)
    蛇行矩阵
    快速排序 QuickSort
    堆排序
    猪的安家
    百度语言翻译机
    HTML <base> 标签
    免费网络管理流量监控软件大比拼
  • 原文地址:https://www.cnblogs.com/shunyu/p/8455748.html
Copyright © 2011-2022 走看看