一天两道力扣(6)

python 复制代码
class Solution(object):
    def numIslands(self, grid):
        def dfs(grid, i, j):
            if not 0 <= i < len(grid) or not 0 <= j < len(grid[0]) or grid[i][j] == '0': return
            grid[i][j] = '0'
            dfs(grid, i + 1, j)
            dfs(grid, i - 1, j)
            dfs(grid, i, j + 1)
            dfs(grid, i, j - 1)
        cnt = 0
        for i in range(len(grid)):
            for j in range(len(grid[0])):
                if grid[i][j] == '1':
                    dfs(grid, i, j)
                    cnt += 1
        return cnt
        

思路:就是从头开始遍历,每次遇到一个值为1的,就给它上下左右及自身均为1的变为0(这里用DFS深度优先遍历),然后cnt加一,这就算一个岛屿,直到遍历结束

python 复制代码
class Solution(object):
    def rob(self, nums):
        if len(nums) == 0:
            return 0
        N = len(nums)
        dp = [0] * (N+1)
        dp[1] = nums[0]
        dp[0] = 0
        for i in range(2, N+1):
            dp[i] = max(dp[i - 1], nums[i - 1] + dp[i - 2])
        return dp[N]

思路:

转移方程:(1)偷前i-1间房子,最后一间不偷(2)偷前i-2间房子和最后一间

相关推荐
HjhIron14 小时前
面试常客:字符串算法从入门到进阶
算法·面试
吴佳浩15 小时前
DeepSeek DSpark:Confidence-Scheduled Speculative Decoding 技术解析
人工智能·算法·deepseek
触底反弹16 小时前
🧠 搞懂 Token,才算真正入门大模型——从分词原理到 Embedding 语义实战
javascript·人工智能·算法
vivo互联网技术21 小时前
ICLR 2026 | 基于后验采样的图像恢复方法LearnIR:人脸去阴影、去雾
人工智能·算法·aigc
浮生望1 天前
JS字符串与回文算法:从包装类到双指针的面试进阶之路
javascript·算法
黄敬峰1 天前
面试必刷:从JS底层包装类到双指针,彻底搞懂字符串与回文算法
算法
地平线开发者1 天前
J6B vio scenario sample
算法
BothSavage2 天前
Trae远程开发中DeepSeek自定义模型4054错误的排查与修复
算法
小林ixn2 天前
从暴力到KMP:一道题彻底搞懂字符串匹配的前世今生
算法