zoukankan      html  css  js  c++  java
  • 和为s的连续正数序列,和为s的两个数字


    1.题目描述
    输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序
    思路:
    设置两个变量,small,big,如果连续和小于给定值,增加big,大于给定值,增加small,如果相等,将连续序列加入结果中,同时增加small和big,以便找到下一组连续序列
    代码
     1 # -*- coding:utf-8 -*-
     2 class Solution:
     3     def FindContinuousSequence(self, tsum):
     4         # write code here
     5         res = []
     6         if tsum<=2:#2及2以下不存在
     7             return res 
     8         small = 1
     9         big = 2
    10         while small < big: 
    11             lst = []
    12             #for i in range(small,big+1,1):
    13                 #lst.append(i)
    14             lst = [i for i in range(small,big+1,1)] #简写方式
    15             if sum(lst)> tsum:
    16                 small +=1
    17             elif sum(lst)< tsum:
    18                 big +=1
    19             else:
    20                 res.append(lst)
    21                 small += 1
    22                 big += 1         
    23         return res   
    24                

    2.题目描述

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

    输出描述:

    对应每个测试案例,输出两个数,小的先输出。

     1 # -*- coding:utf-8 -*-
     2 class Solution:
     3     def FindNumbersWithSum(self, array, tsum):
     4         # write code here
     5         res = []
     6         if len(array)==0:
     7             return res
     8         small = 0
     9         big = len(array)-1
    10         while small < big:
    11             if array[small] + array[big]==tsum:
    12                 res.append(array[small])
    13                 res.append(array[big])
    14                 break
    15             if array[small] + array[big] > tsum:
    16                 big -= 1
    17             else:
    18                 small+=1
    19         return res
    20         

    note:

    res.append(array[small],array[big]) 报错,append函数只有一个参数

  • 相关阅读:
    MyBatis自带的逆向工程
    StringUtils.isNotEmpty和StringUtils.isNotBlank的区别
    JS根据身份证号码精确计算年龄和性别
    java根据生日精确计算年龄
    单列模式
    Java事务处理
    数据库连接池
    CRM(四川网脉系统)项目总结
    流的文件操作(File)
    Java的关键字与标识符
  • 原文地址:https://www.cnblogs.com/shuangcao/p/12794076.html
Copyright © 2011-2022 走看看