ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python笔试题:给定一个整数数组和一个目标值、找出数组中为2个俩个数、若无返回-1【杭州多测师】【杭州多测师_王sir】

2022-08-18 14:30:16  阅读:118  来源: 互联网

标签:10 多测师 int32 int list1 数组 new return 杭州


 

 

 

 

class Test:

    def func(self):
        '''
        给定一个整数数组和一个目标值、找出数组中为2个俩个数、若无返回-1
        :return:
        '''
        list1=[-1,-2,4,3,1,0,2]
        # list1 = [-1,4,5]
        new=[]
        for i in range(len(list1)):
            for j in range(len(list1)-i-1):
                if list1[i]+list1[j] == 2:
                    new.append((list1[i],list1[j]))
        if new != []:
            print(new)
        else:
            print(-1)

    def reverse(self, x):
        a = 2**31-1   #int32最大值是:2147483647
        b = -(2**31)  #int32最小值是:-2147483648
        n = 0
        while x != 0:
            m = -(abs(x)%10) if x < 0 else x%10
            x = int(x/10)
            if n > int(a/10) or n == int(a/10) and m > 7:     # int32最大值是2147483647,最后一位是7
                return 0
            if n < int(b/10) or n == int(b/10) and m < -8:     # int32最小值是-2147483648,最后一位是8
                return 0
            n = n*10 + m
        return n

t = Test()
t.func()  #第一个题目
print(t.reverse(341))  #第二个题目

  

标签:10,多测师,int32,int,list1,数组,new,return,杭州
来源: https://www.cnblogs.com/xiaoshubass/p/16598583.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有