classSolution(object): defgenerateMatrix(self, n): """ :type n: int :rtype: List[List[int]] """ if n <= 0: return [] matrix = [[0]*n for _ inrange(n)] top, bottom, left, right = 0, n-1, 0, n-1# 将边界统一为数组0-(n-1)的形式 x = 1 while top <= bottom and left <= right: for i inrange(left, right+1-1): # 控制上边界,+1 表示是从left-right完整的一圈,-1 表示完整的一圈减去 1 matrix[top][i] = x x += 1 for i inrange(top, bottom+1-1): matrix[i][right] = x x += 1 for i inrange(right, left-1+1, -1): matrix[bottom][i] = x x += 1 for i inrange(bottom, top-1+1, -1): matrix[i][left] = x x += 1 top += 1 right -= 1 bottom -= 1 left += 1 if (top-1) == (bottom+1): matrix[top-1][left-1] = x return matrix da = Solution().generateMatrix(5) print(da)
defmain(): data = input().split() n = int(data[0]) val = data[1:(n+1)] idx = data[(n+1):] sum_ = 0 p = [] for v in val: sum_ += int(v) p.append(sum_) i = 0 results = [] while i <= len(idx)-1: a = int(idx[i]) b = int(idx[i+1]) i += 2 if a == 0: sum_value = p[b] else: sum_value = p[b] - p[a - 1] results.append(sum_value) for result in results: print(result) main()
defmain(): data = input().split() m, n = int(data[0]), int(data[1]) val = data[2:] arr = [] for i inrange(m): row = [] for j inrange(n): row.append(int(val[i*n+j])) arr.append(row) print(arr) row_sum = [] col_sum = [] sum_tmp = 0 for r inrange(m): sum_tmp += arr_add(arr[r]) row_sum.append(sum_tmp) sum_tmp = 0 for c inrange(n): sum_tmp += arr_add([r[c] for r in arr]) col_sum.append(sum_tmp) print(row_sum) print(col_sum) min_cha = row_sum[-1] for r inrange(0, m-1): a = row_sum[r] b = row_sum[-1] - a min_cha = min(min_cha, abs(b - a)) for c inrange(0, n-1): a = col_sum[c] b = col_sum[-1] - a min_cha = min(min_cha, abs(b - a)) print(min_cha) defarr_add(arr): res = 0 for v in arr: res += v return res main()