Leetcode 刷题笔记1 图论part04

【LeetCode & 剑指offer 刷题笔记】汇总(已完成) 前言   不知不觉就结束了自己的秋招之路,虽感觉有些艰辛但是收获很多。找工作那段时间做了很多学习笔记,这是数据结构与算法相关的一部分笔记,这一块除了复习相关教科书,还有就是刷leetcode和《剑指offer》了。这段时间稍微空闲些,打算把自己之前在印象笔记上做的笔记迁移到优快云上(优快云解析html源码的功能还没加上去,已经反馈了这个问题,我要再等等这个功能,免得要过多的二次编辑),供大家学... 阅读详情

leetcode 110 字符串接龙

def judge(s1, s2):
    count = 0
    for i in range(len(s1)):
        if s1[i] != s2[i]:
            count += 1
    return count == 1

if __name__ == '__main__':
    n = int(input())
    begin_str, end_str = map(str, input().split())
    if begin_str == end_str:
        print(0)
        exit()
    strlist = []
    for _ in range(n):
        strlist.append(input())
    
    visited = [False for _ in range(n)]
    queue = [[begin_str, 1]]
    while queue:
        Str, step = queue.pop(0)
        if judge(Str, end_str):
            print(step + 1)
            exit()
        for i in range(n):
            if visited[i] == False and judge(strlist[i], Str):
                visited[i] = True
                queue.append([strlist[i], step + 1])
    print(0)

leetcode 105 有向图的完全联通

def dfs(grid, key, visited):
    for value in grid[key]:
        if not visited[value]:
            visited[value] = True
            dfs(grid, value, visited)

def main():
    import sys
    input = sys.stdin.read
    data = input().split()
    n = int(data[0])
    m = int(data[1])
    grid = [[] for _ in range(n + 1)]
    index = 2
    for _ in range(m):
        s = int(data[index])
        t = int(data[index + 1])
        grid[s].append(t)
        index += 2
    visited = [False] * (n + 1)
    visited[1] = True
    dfs(grid, 1, visited)
    for i in range(1, n + 1):
        if not visited[i]:
            print(-1)
            return
    print(1)

if __name__ == '__main__':
    main()

leetcode 106 岛屿的周长

def main():
    import sys
    input = sys.stdin.read
    data = input().split()
    n, m = int(data[0]),int(data[1])
    grid = []
    index = 2
    for _ in range(n):
        grid.append([int(data[index + j]) for j in range(m)])
        index += m
    sum_land= 0
    cover = 0
    for i in range(n):
        for j in range(m):
            if grid[i][j] == 1:
                sum_land += 1
                if i - 1 >= 0 and grid[i - 1][j] == 1:
                    cover += 1
                if j - 1 >= 0 and grid[i][j - 1] == 1:
                    cover += 1
    result = sum_land * 4 - cover * 2
    print(result)

if __name__ == '__main__':
    main()

漫画:小白为了面试如何刷题?(呕心沥血算法指导篇) 今天是小浩算法“365刷题计划” - 刷题指导篇(小白篇)。三年高考,五年刷题。leetcode不算从其他各处收录的题目,单就自己的题库,总共有1600+,如果按照每天刷一道的话,总共... 阅读详情

相关推荐

Cadence Virtuoso IC617:从零构建传输门与反相器的Schematic设计实战

本文详细介绍了使用Cadence Virtuoso IC617进行传输门与反相器Schematic设计的完整流程,包括环境准备、原理图绘制、Symbol创建、仿真验证及实用技巧。通过分步指导和实战经验分享,帮助初学者快速掌握集成电路设计基础,提升EDA工具应用能力。

weixin_29194693的博客 597

leetcode刷题笔记

O1。

hunhunee666的博客 907

Proteus一体化安装STC15库添加

Proteus一体化安装与STC15库添加指南 本文详细介绍了Proteus 8.9 SP2专业版的一体化安装流程和STC15系列单片机库文件的添加方法。安装过程简单快捷,无需破解,稳定性好。通过将两个库文件(Lib和LIB)复制到Proteus安装目录的DATA/LIBRARY文件夹中,即可实现STC15W4K32S4芯片的仿真功能。文中还提供了新建工程和器件放置的步骤说明,特别指出STC15W4K32S4芯片可兼容仿真其他STC15系列芯片,并附带下载链接获取资源。该教程适用于电子设计初学者和开发者。

#法外狂徒张三的博客 4万+

leetcode刷题方法指南

可以先刷高频前100个:https://leetcode.com/problemset/top-100-liked-questions/ 或者面试高频类:https://leetcode.com/problemset/top-interview-questions/ 字节跳动(头条)常考题:https://leetcode-cn.com/explore/interview/card/byted...

别说话写代码的博客 1万+

ORCAD原理图关联封装时出现ERROR(ORCIS-6245)、ERROR(ORCIS-6013)问题

1、当你进行如下操作时: 系统先是提示你出现ERROR(ORCIS-6245)然后再确定后再出现ERROR(ORCIS-6013)问题 是由于你的数据库的路径不对。 具体操作方法如下:1、先找到你的CAPTURE.INI文件。 2、用记事本打开CAPTURE.INI。找到下图路径 3、在你的Orcad capture CIS原理图软件中点击 Options------>CIS con...

weixin_42304393的博客 2万+

你不必懂AI,但必须会用AI:写给所有焦虑中的职场人

AI时代不必焦虑学技术,关键在于用AI解决实际问题。文章指出,99%的人只需成为AI使用者而非建造者,核心竞争力在于结合业务痛点运用AI工具提升效率。与其盲目学习工具,不如梳理工作流程,识别可优化环节,让AI赋能重复性、标准化任务。行业经验与AI工具的结合才是真正的职场护城河。建议从具体工作场景出发,寻找匹配的AI解决方案,迈出应用第一步。

hundred98的博客 716

Leetcode刷题指南

参考:https://blog.youkuaiyun.com/qq_39521554/article/details/79160815   二、刷题方法 方法一:按照题目出现频率刷题 顺序参考文章最后的部分 方法二:标签法 按照网站给大家排列的不同tags,起到模块化的复习和学习作用。举个例子:比如复习链表的内容,就选Linked List这部分的23个题目。刷完之后可以再总结一下常用的方法和数据结...

mmc2015的专栏 1万+

ROS从入门到精通1-1:ROS核心架构、常用指令与计算图

本文介绍ROS的核心架构,各个文件、目录的用途、常用命令行工具、动态计算图原理。

FRIGIDWINTER的博客 6368

新手小白leetcode刷题

Python版本 1、【1】 2 Sum 2、【15】 3 Sum class Solution: def threeSum(self, nums: List[int]) -> List[List[int]]: lst=[] if sum(nums) > 0: nums.remove(max(nums)) ...

JShawn的博客 1516

ollama使用CPU安装qwen-coder模型_并在eclipse中使用ai coder插件_配置本地qwen-coder模型_ollama常用操作记录---AI大模型应用探索0002

文章摘要:作者分享了在Windows 10上安装和使用Ollama模型的过程。尝试了不同规模的qwen-coder模型(7b、1.5b和0.5b),发现7b模型响应极慢(需35分钟),而1.5b模型表现较好(3秒响应)。最终选择1.5b版本用于代码开发辅助,支持多语言自动补全。同时提到在最新版Eclipse中的AIcoder配置问题。文章重点比较了不同模型规模在CPU环境下的实际使用体验和响应速度差异。

添柴程序猿的专栏 683

18.EC实战 新建项目工程并配置各个引脚的工作方式(持续更新)

本博文介绍了从零开始新建EC工程及对各个引脚进行了工作模式的初始化配置

qq_30135687的博客 1731

Leetcode 刷题笔记1 动态规划part04

问题转化, 把石头问题转化为背包问题,在target容量范围内所能装的最大石头重量。

pinglejun的博客 269

【AI智能体】Claude Code 高级编程技巧实战项目详解

Claude Code 高级编程技巧实战项目详解

congge 1万+

leetcode刷题笔记1 二叉树part04

从本题和下面的这两道题学习如何根据中序和前序、中序和后序遍历序列构造二叉树。同时,没有中序的情况是不能构造二叉树的。

pinglejun的博客 176

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Part 2 新手小白数据结构刷题的理解

定义两个指针curA,curB分别用来遍历两个链表,curA遍历第一个结点时,curB去遍历另一个链表的所有结点,然后依次进行比较,遇到第一个结点与curA相同就说明是相交链表,并且curB此时就是相交链表的第一个结点,如果没有遇到,此时curA再往后走一步,curB再次去遍历另一个链表,如此直到curA遍历完,如果始终都没有curA等于curB的情况,说明两个链表不相交。因为两个链表都是升序的,所以给了我们很大的便利,既然需要进行比较,就需要两个指针l1,l2,分别在两个链表上一步一步遍历。

Rian_P的博客 1596

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

leetcode刷题 (数据库 MySQL) Part 2

LEETCODE数据库题目刷题,一般题目都会整理(目前只有非会员的题目 ????),除了自己的题解还会整合大家的,不定期更新(暂时决定10道题左右一个文档,要不然太长了,最后看能刷多少题再看要不要整合吧)。 LEETCODE数据库题库链接:https://leetcode-cn.com/problemset/database/ 197.上升的温度 题目: 给定一个 Weather 表,编写一个 SQL 查询,来查找与之前(昨天的)日期相比温度更高的所有日期的 Id。 Id(INT) RecordD

weixin_44460564的博客 641

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

求职刷题力扣 DAY38动态规划 part04

有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x!= y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块 石头。返回此石头 最小的可能重量。如果没有石头剩下,就返回 0。

qq_44486787的博客 1255

Leetcode 刷题笔记1 回溯算法part04

这题的去重不能使用sort()对原数组进行排序,因为会破坏顺序。由于本题数组的长度为201,属于有限小数组,所以可以使用数组来做哈希。

pinglejun的博客 230

Python | Leetcode刷题日寄Part05

Python|Leetcode刷题日寄Part05: 💦:二叉树的中序遍历;🔥:对称二叉树;🍞:翻转二叉树;💡:验证二叉搜索树;🚀:岛屿数量;🌲:二叉树的最小深度;🎁:二叉树展开为链表;🌞:二叉树的前序遍历;🌠:相同的树;💎:路径总和

四口鲸鱼爱吃盐的博客 803

Leetcode刷题笔记1 贪心算法part04

本题被如何更新边界考住了。

pinglejun的博客 254

leetcode hot100_part04_子串(完)

总体的思路,不着急删除(不要想着窗口动一次删一次),因为我们要的是每个窗口的最大值:窗口每移动一次,就把新遍历到的元素加入优先队列,然后取到优先队列的队头元素(队列里所有元素当前的最大值)。如果先把当前前缀和放入map,j就可以取到i,结合上面的分析如果此时[0,j] j=i是一个满足条件的pre[i] - k,那么对应的子数组长度为0;不存在,这种情况对应的k=0;关键的是,如果这个元素不在当前的滑动窗口范围内,删除,继续取队头元素,直到取到的元素在当前窗口的范围内,再把这个答案放到结果集合里。

weixin_45782005的博客 892

leetcode 刷题day35动态规划Part04 背包问题(1049. 最后一块石头的重量 II 、494. 目标和、474.一和零)

0-1背包应用的难点在于找到背包的容量,物体的重量和价值

m0_51007517的博客 1250

【代码随想录Day52】图论Part04

【代码】【代码随想录Day52】图论Part04。

Shayne 的博客 696

动态规划part04

把石头分成尽可能重量接近的两堆,然后那这两堆相减就是最小重量了;且每颗石头仅能使用一次,抽象为01背包。

HUIMU的博客 1388

求职刷题力扣DAY33--贪心算法part04

有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是。处射出一支箭,若有一个气球的直径的开始和结束坐标为。这道题结合合并区间一起来看,合并区间取并集,这里取交集。你不知道气球的确切 y 坐标。弓箭一旦被射出之后,可以无限地前进。需要移除区间的最小数量,使剩余区间互不重叠。返回一个表示每个字符串片段的长度的列表。可以射出的弓箭的数量。

qq_44486787的博客 791
上一篇: Leetcode刷题笔记1 图论part03
下一篇: Leetcode 刷题笔记 图论part05
平乐君
博客等级 码龄5年 65粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值