Python剑指offer:数组中数值和下标相等的元素
生活随笔
收集整理的這篇文章主要介紹了
Python剑指offer:数组中数值和下标相等的元素
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
'''
假設一個單調遞增的數組里的每個元素都是整數并且是唯一的。
請編程實現一個函數找出數組中任意一個數值等于其下標的元素。
例如,在數組{-3, -1, 1, 3, 5}中,數字3和它的下標相等。
'''class Solution:def GetNumberSameAsIndex(self, data, num):if num < 0 or len(data) <= 0:return "please input right data or number"start = 0end = len(data) - 1while start <= end:mid = (start + end) // 2if data[mid] == num:return mid# 一個元素的值一旦大于他的下標,那么該元素右邊的值# 肯定都大于他的下標。因此從改元素左邊找就可以了elif data[mid] > mid:end = mid - 1# 同理,一個元素的值如果小于他的下標,# 那么左側的值也都不滿足條件elif data[mid] < mid:start = mid + 1return Nonea = Solution()
a.GetNumberSameAsIndex([-3, -1, 1, 3, 5], 3)
總結
以上是生活随笔為你收集整理的Python剑指offer:数组中数值和下标相等的元素的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 介绍一种导入文件夹中图片数据集的方法
- 下一篇: Python剑指offer:和为s的连续