找出数组中与给定值最接近的数。列及对角线和的最大值。python
时间: 2023-06-12 19:05:34 浏览: 78
找出数组中与给定值最接近的数:
```python
def closest_value(arr, target):
arr.sort()
left = 0
right = len(arr) - 1
while left + 1 < right:
mid = (left + right) // 2
if arr[mid] == target:
return arr[mid]
elif arr[mid] < target:
left = mid
else:
right = mid
if abs(arr[left] - target) <= abs(arr[right] - target):
return arr[left]
else:
return arr[right]
```
列及对角线和的最大值:
```python
def max_sum(matrix):
n = len(matrix)
col_sum = [sum([matrix[i][j] for i in range(n)]) for j in range(n)]
diagonal_sum = [sum([matrix[i][i] for i in range(n)]), sum([matrix[i][n-i-1] for i in range(n)])]
return max(max(col_sum), max(diagonal_sum))
```
其中,`matrix` 是一个二维数组,表示矩阵。`col_sum` 是每列的和组成的列表,`diagonal_sum` 是两个对角线的和组成的列表。最终返回三者的最大值即可。