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+,如果按照每天刷一道的话,总共... 阅读详情

相关推荐

MRI脑影像分析从哲学到技术:一文搞懂VBM预处理基本原理(全网最详细解析)

   分析大脑解剖学差异最常用方法之一是基于体素的形态学方法(voxel-based morphometry, VBM)。 VBM的基本思想是测量大脑组织,尤其是灰质的局部浓度的差异。在大脑的每个体素处进行操作,然后在两个或多个实验组之间进行统计比较,从而在受调查的组之间建立特定大脑区域中脑组织浓度的统计学显着差异。 VBM分析基于(高分辨率)MRI脑部扫描,涉及大量处理步骤,主要是空间归一化,分割,平滑和统计分析,最终结果是统计图,显示了各组之间组织类型明显不同的区域[^1]。 参考 [^1] ..

意疏的学习笔记 3万+

leetcode刷题笔记

O1。

hunhunee666的博客 907

从DC到DCG:手把手教你搭建物理感知综合流程(含DEF文件处理避坑指南)

本文详细介绍了从Design Compiler(DC)过渡到DC Topographical(DCT)和DC Graphical(DCG)的完整操作框架,特别针对DEF文件处理提供避坑方案。通过环境准备、工具升级、DEF文件处理、DCG综合配置等步骤,帮助开发者高效应对28nm以下工艺节点的物理感知综合挑战,显著提升时序收敛效率。

weixin_27966471的博客 380

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万+

跨越移植陷阱:ESP-IDF下LVGL与ILI9341的组件化集成与常见避坑指南

本文详细解析了在ESP-IDF环境下将LVGL图形库与ILI9341显示屏驱动进行组件化集成的完整流程。重点介绍了移植过程中的关键配置策略、内存管理优化技巧以及常见问题解决方案,帮助开发者有效规避内存溢出、显示异常等典型陷阱,实现高效稳定的嵌入式GUI开发。

yhn456789的博客 623

Unity中5分钟实现3D高斯泼溅渲染:从原理到实战部署

3D高斯泼溅(3D Gaussian Splatting)是一种新兴的神经渲染技术,它通过显式地使用大量3D高斯椭球来表示场景,革新了传统的体渲染和神经辐射场(NeRF)方法。其核心原理是将这些3D高斯投影到2D屏幕并进行快速光栅化与Alpha混合,从而绕过了耗时的光线步进,实现了极高的渲染效率。这项技术的价值在于,它能够在消费级GPU上达到实时甚至超实时的帧率,同时保持紧凑的数据表达和惊人的视觉细节,极大地降低了高质量3D重建与渲染的门槛。在应用场景上,它正快速渗透到数字孪生、虚拟现实、文化遗产数字化以及

weixin_29474431的博客 274

Leetcode刷题指南

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

mmc2015的专栏 1万+

RKDevTool解包和打包(Windows)

我们将修改后的打包工具存放在了RKDevTool_Release_v2.92软件压缩包的rockdev目录下,可以搭配RKDevTool的解包功能使用。双击板卡主芯片对应的bat文件,开始进行打包。红框中的内容是我们的打包工具及辅助打包的可执行文件,Image目录下存放了我们的分区镜像, package-file是分区与分区镜像文件的对应关系。将从网盘获取的Update.zip镜像解压成.img格式并重命名为update.img,也可以直接使用SDK生成的update.img镜像。

tianpu2320959696的博客 3348

新手小白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

让 RAP 弹窗参数真正变成必填:Excel Upload Action 的两种实现路径

摘要 在RAP应用中,action弹窗参数经常缺乏必填校验,导致用户体验差。本文提出两种解决方案:1)在action实现中手动校验,简单但交互不流畅;2)通过root abstract entity和abstract BDEF建模,利用field(mandatory)实现框架级校验,推荐此长期方案。后者将约束集中到模型层,使UI与执行期校验一致,特别适合ABAP Cloud环境。以Excel导入为例,强制填写备注和明确选择试运行,可避免审计问题,提升系统可靠性。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 198

41、矩形和圆柱形开槽微带贴片天线设计及性能分析

本文提出了一种适用于ISM频段(2.4 - 2.48 GHz)的微带圆形贴片天线,专为生物医学植入和可穿戴设备设计。通过在贴片上蚀刻矩形槽并去除圆柱形槽,实现了小型化与性能优化。采用Rogers 3010基板材料,结合缺陷接地结构(DGS)技术,有效改善了带宽、回波损耗和极化纯度。仿真结果显示,天线在弯曲状态下仍保持良好性能,回波损耗达-13 dB,VSWR为1.6,方向性提升至5.38 dB。与以往设计相比,本次设计在回波损耗和谐振频率稳定性方面表现优异,具备良好的生物相容性和应用潜力。未来将从开槽结构、

github5actions的博客 258

Leetcode 刷题笔记1 动态规划part04

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

pinglejun的博客 269

【FPGA教程案例49】控制案例1——基于FPGA的PID控制器verilog实现

PID控制器产生于1915年,PID控制律的概念最早是由LYAPIMOV提出的,到目前为止,PID控制器以及改进的PID控制器在工业控制领域里最为常见。PID控制器(比例-积分-微分控制器),由比例单元 P、积分单元 I 和微分单元 D 组成。通过Kp,Ki和Kd三个参数的设定。PID控制器主要适用于基本线性和动态特性不随时间变化的系统。图1为PID控制器的基本结构框图。PID控制器以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。...

FPGA/MATLAB学习教程/源码/项目合作开发 4530

leetcode刷题笔记1 二叉树part04

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

pinglejun的博客 176

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

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

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

Rian_P的博客 1596

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

leetcode刷题 (数据库 MySQL) Part 2

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

weixin_44460564的博客 641

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

求职刷题力扣 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、付费专栏及课程。

余额充值