leetcode每日一題刷題記錄(10.26-10.30)
leetcode每日一題刷題記錄(10.26-10.30)
10.26每日一題:1365. 有多少小於當前數字的數字
- 有多少小於當前數字的數字
class Solution:
def smallerNumbersThanCurrent(self, nums: List[int]) -> List[int]:
place=[0] *101
output=[]
for n in nums:
place[n] +=1
lessthan=[]
temp=0
for p in place:
lessthan.append(temp)
temp +=p
for n in nums:
output.append(lessthan[n])
return output
10.27每日一題:144. 二叉樹的前序遍歷(二叉樹的四種遍歷)
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def preorderTraversal(self, root: TreeNode) -> List[int]:
res=[]
def dfs(root):
nonlocal res
if not root:
return
res.append(root.val)
dfs(root.left)
dfs(root.right)
dfs(root)
return res
94. 二叉樹的中序遍歷
145. 二叉樹的後序遍歷
102. 二叉樹的層序遍歷
10.28每日一題:1207. 獨一無二的出現次數
- 獨一無二的出現次數
class Solution:
def uniqueOccurrences(self, arr: List[int]) -> bool:
return len(set(collections.Counter(arr).values()))==len(set(arr))
就一行,服了
以後出現統計次數的,直接上Counter()
Collections模組使用了高效能容器資料型別,並且包含許多有用的資料結構,它的效能超過了內建的型別如 list,dict and tuple等。
Counter是一個容器,用來統計值出現的頻率
使用前需要先匯入模組
from collections import Counter
10.29每日一題:129. 求根到葉子節點數字之和
- 求根到葉子節點數字之和
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def sumNumbers(self, root: TreeNode) -> int:
def dfs(root:TreeNode,prevTotal:int)-> int:
if not root:
return 0
total=prevTotal*10+root.val
if not root.left and not root.right:
return total
else:
return dfs(root.left,total)+dfs(root.right,total)
return dfs(root,0)
10.30每日一題:463. 島嶼的周長
- 島嶼的周長
class Solution:
def islandPerimeter(self, grid: List[List[int]]) -> int:
res=0
for i in range(len(grid)):
for j in range(len(grid[0])):
if grid[i][j]==1:
res +=4
if i-1>=0 and grid[i-1][j]==1:
res -=2
if j-1>=0 and grid[i][j-1]==1:
res-=2
return res
相關文章
- LeetCode刷題記錄LeetCode
- leetcode刷題記錄 661~LeetCode
- 每日刷題記錄 11-18
- LeetCode刷題記錄——day5LeetCode
- LeetCode刷題記錄——day4LeetCode
- LeetCode刷題記錄——day3LeetCode
- LeetCode刷題記錄——day2LeetCode
- LeetCode刷題記錄——day1LeetCode
- LeetCode刷題記錄與題解(C++版本)LeetCodeC++
- LeetCode-劍指Offer刷題記錄LeetCode
- LeetCode每日一題: 學生出勤記錄 I(No.551)LeetCode每日一題
- leetcode刷題筆記LeetCode筆記
- LeetCode 刷題筆記LeetCode筆記
- leetcode刷題(一)LeetCode
- leetcode刷題記錄1041-1050 python版LeetCodePython
- 刷題記錄
- leetcode每日一題LeetCode每日一題
- LeetCode 刷題記錄(16、17、18)—Java語言LeetCodeJava
- 刷題記錄:劍指offer+遇到的筆試題+LeetCode筆試LeetCode
- leetcode刷題筆記605LeetCode筆記
- 刷題記錄11
- 記錄刷題日常
- Codeforces 刷題記錄
- BUU刷題記錄
- CTF刷題記錄
- 刷題記錄24
- 刷題記錄27
- Leetcode每日一題(1)LeetCode每日一題
- leetcode刷題記錄:演算法(六)BFS&DFSLeetCode演算法
- LeetCode 刷題指南(一):為什麼要刷題LeetCode
- leetcode刷題筆記(3)(python)LeetCode筆記Python
- [雜項] 刷題記錄
- 每日刷題 3.17
- leetcode刷題.143. 重排連結串列.每日打卡LeetCode
- leetcode刷題筆記8.5-8.9LeetCode筆記
- Leetcode刷題筆記8.12-8.16LeetCode筆記
- LeetCode刷題筆記9.2-9.9LeetCode筆記
- 用 Rust 刷 leetcode 第一題RustLeetCode