用位移的方法来做除法
6 110 右移一位,把最右边的一位删掉,是11,是3
7 111右移一位,把最右边的一位删掉,是11,是3
偶数与偶数+1的右移是一样的,有点像int转换,
print('int',int(25.8))
结果为25
int(bb)的好处,结果不会越界,如果在图像上四舍五入,有可能导致图像越界。
下面列出二分法的代码:
import math
from typing import List
import numpy as np
class Solution:
def searchmatrix(self, matrix: List[List[int]], target: int) -> bool:
import numpy as np
arr = np.array(matrix)
# 通过numpy可以直接reshape
arr = arr.reshape((-1, ))
left, right = 0, arr.shape[0]
if right == 0:
return False
# 套用二分
while left+1 < right:
m = (left + right) >> 1
print("left",left,"right",right,"middle",m,"m_val
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。