給你乙個大小為 rows x cols 的矩陣 mat,其中 mat[i][j] 是 0 或 1,請返回 矩陣 mat 中特殊位置的數目 。
特殊位置 定義:如果 mat[i][j] == 1 並且第 i 行和第 j 列中的所有其他元素均為 0(行和列的下標均 從 0 開始 ),則位置 (i, j) 被稱為特殊位置。
示例1
輸入:mat = [[1,0,0],
[0,0,1],
[1,0,0]]
輸出:1
解釋:(1,2) 是乙個特殊位置,因為 mat[1][2] == 1 且所處的行和列上所有其他元素都是 0
示例2
輸入:mat = [[1,0,0],
[0,1,0],
[0,0,1]]
輸出:3
解釋:(0,0), (1,1) 和 (2,2) 都是特殊位置
編碼能力較弱,使用的純笨蛋方法,純判斷
class solution(object):
def numspecial(self, mat):
""":type mat: list[list[int]]
:rtype: int
"""count = 0
rows = len(mat)
for i in range(rows):
cols = len(mat[i])
for j in range(cols):
if mat[i][j] == 1:
ans = true
for x in range(cols):
if x == j:
continue
elif mat[i][x] == 1:
ans = false
break
if ans:
for y in range(rows):
if y == i:
continue
elif mat[y][j] == 1:
ans = false
break
if ans:
count += 1
return count
二進位制 leetcode
5 toc 給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。class solution return result 給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。思路 某一位上1出現的次...
LeetCode 二進位制手錶
二進位制手錶頂部有 4 個 led 代表小時 0 11 底部的 6 個 led 代表分鐘 0 59 每個 led 代表乙個 0 或 1,最低位在右側。例如,上面的二進位制手錶讀取 3 25 給定乙個非負整數 n 代表當前 led 亮著的數量,返回所有可能的時間。案例 輸入 n 1 返回 1 00 2...
二進位制手錶(LeetCode)
二進位制手錶頂部有 4 個 led 代表小時 0 11 底部的 6 個 led 代表分鐘 0 59 每個 led 代表乙個 0 或 1,最低位在右側。例如,上面的二進位制手錶讀取 3 25 給定乙個非負整數 n 代表當前 led 亮著的數量,返回所有可能的時間。案例 輸入 n 1 返回 1 00 2...