题目名称:查找整数

题目描述

给定一个非降序的整数数组,数组中包含重复数字(重复数字很多) ,给定任意整数,对数组进行二分查找,返回数组正确的位置,给出函数实现。 a. 连续相同的数字,返回最后一个匹配的位置 b. 如果数字不存在返回 -1。(测试用例仅做参考,我们会根据代码质量进行评分)

输入描述:

第一行给定数组长度n,目标值tar。(1<=n,tar<=10000) 第二行给出n个整数a.(1<=a<=10000)

输出描述:

按题目描述输出。

示例 

示例1

输入7 4
1 2 2 3 4 4 10复制

输出5

class Solution:
    def __init__(self) -> None:
        pass

    def solution(self):
        lis = input().strip().split(' ')
        num = input().strip().split(' ')
        n = int(lis[0])
        tar = int(lis[1])
        num = [int(i) for i in num]
        k = 0
        if num.count(tar) == 0:
            return(-1)
        if num.count(tar) != 0:
            for i in num[::-1]:
                k += 1
                if i == tar:
                    return (n - k)

if __name__ == "__main__":
    s = Solution()
    print(s.solution())

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值