图论第一天
在单位摸鱼,地铁上看了个开始,图论开了个头,后面也希望能往这个方向上转,努努力吧。
一周没做题啦,后面坚持继续做题+二刷,接着记录每一天!!!加油!!!
DFS和BFS起步:
797.所有可能的路径
DFS最基本应用
class Solution {
public:vector<vector<int>>result;vector<int>path;vector<vector<int>> allPathsSourceTarget(vector<vector<int>>& graph) {path.push_back(0);findpath(graph,0);return result;}void findpath(vector<vector<int>>& graph,int cur){if(cur == graph.size() - 1){result.push_back(path);return;}for(int i = 0;i < graph[cur].size();i++){path.push_back(graph[cur][i]);findpath(graph,graph[cur][i]);path.pop_back();}}
};
200.岛屿数量
DFS思路主要还是要和回溯放一块搞
class Solution {
public:int result = 0;int neighbor[4][2] = {1,0,-1,0,0,1,0,-1};int numIslands(vector<vector<char>>& grid) {int x = grid.size();int y = grid[0].size();vector<vector<bool>>visited(x,vector<bool>(y,false));for(int n = 0;n < x; n++){for(int m = 0; m < y;m++){if(grid[n][m] == '1' && visited[n][m] == 0){visited[n][m] = 1;result++;dfs(grid,visited,n,m);}}}return result;}void dfs(vector<vector<char>>& grid,vector<vector<bool>>& visited,int x,int y){for(int i = 0;i < 4;i++){int nextx = x + neighbor[i][0];int nexty = y + neighbor[i][1];if(nextx < 0 || nexty < 0 || nextx >= grid.size() || nexty >= grid[0].size())continue;if(visited[nextx][nexty] == 0 && grid[nextx][nexty] == '1'){visited[nextx][nexty] = 1;dfs(grid,visited,nextx,nexty);}}}
};
BFS主要是while循环
class Solution {
public:int result = 0;int neighbor[4][2] = {1,0,0,1,-1,0,0,-1};int numIslands(vector<vector<char>>& grid) {int n = grid.size();int m = grid[0].size();vector<vector<bool>>visited(n,vector<bool>(m,false));for(int i = 0;i < n;i++){for(int j =0;j <m;j++){if(visited[i][j] == 0 && grid[i][j] == '1'){result++;bfs(grid,visited,i,j);}}}return result;}void bfs(vector<vector<char>>& grid, vector<vector<bool>> &visited,int x,int y){queue<pair<int,int>>que;que.push({x,y});visited[x][y] = 1;while(!que.empty()){pair<int,int>cur = que.front();que.pop();for(int i = 0;i < 4;i++){int nextx = cur.first + neighbor[i][0];int nexty = cur.second + neighbor[i][1];if(nextx < 0 || nexty < 0 || nextx >= grid.size() || nexty >= grid[0].size())continue;if(visited[nextx][nexty] == 0 && grid[nextx][nexty] == '1'){que.push({nextx,nexty});visited[nextx][nexty] = 1;}}}}
};
今天就这两道题,明天接着来~摸鱼!!!
相关文章:
图论第一天
在单位摸鱼,地铁上看了个开始,图论开了个头,后面也希望能往这个方向上转,努努力吧。 一周没做题啦,后面坚持继续做题+二刷,接着记录每一天!!!加油࿰…...
革新风暴来袭:报事报修系统小程序如何重塑报事报修体验?
随着数字化、智能化的发展,已经应用在我们日常生活和工作的方方面面。那么,你还在为物业报修而头疼吗?想象一下,家里的水管突然爆裂,你急忙联系物业,时常面临物业电话忙音、接听后才进行登记繁琐的报修单、…...
linux各个日志的含义 以及使用方法
在Linux系统上,系统日志文件通常存储在/var/log/目录下。可以通过查看这些日志文件来了解系统的操作记录、错误信息和其他相关信息。以下是一些常见的系统日志文件以及它们包含的信息: /var/log/messages:这是一个常见的系统日志文件…...
详解 Spark 核心编程之 RDD 持久化
一、问题引出 /** 案例:对同一份数据文件分别做 WordCount 聚合操作和 Word 分组操作 期望:针对数据文件只进行一次分词、转换操作得到 RDD 对象,然后再对该对象分别进行聚合和分组,实现数据重用 */ object TestRDDPersist {def …...
创新融合,5G+工业操作系统引领未来工厂
为加速企业完成生产制造自动化和经营管理自动化,从而走向未来工厂,蓝卓不断探索supOS工业操作系统与前沿技术的的创新融合,而5G技术为工业操作系统提供了更多元化的赋能手段和想象空间。目前,supOS围绕生产、安全、质检、监控等领…...
自监督表示学习和神经音频合成实现语音修复
关键词:语音修复、自监督模型、语音合成、语音增强、神经声码器 语音和/或音频修复的目标是增强局部受损的语音和/或音频信号。早期的工作基于信号处理技术,例如线性预测编码、正弦波建模或图模型。最近,语音/音频修复开始使用深度神经网络&a…...
【论文复现|智能算法改进】融合黑寡妇思想的蜣螂优化算法
目录 1.算法原理2.改进点3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】蜣螂优化算法(DBO)原理及实现 2.改进点 ICMIC混沌映射 z n 1 sin ( α z n ) , α ∈ ( 0 , ∞ ) (1) z_{n1}\sin(\frac{\alpha}{z_n}),\alpha\in(0,\infty)\ta…...
Unity + 雷达 粒子互动(待更新)
效果预览: 花海(带移动方向) VFX 实例 脚本示例 使用TouchScript,计算玩家是否移动,且计算移动方向 using System.Collections; using System.Collections.Generic; using TouchScript; using TouchScript.Pointers; using UnityEngine; using UnityEngine.VFX;public …...
英语翻译程序,可以对用户自己建立的词汇表进行增删查改
⑴ 自行建立一个包含若干英文单词的词汇表文件,系统初始化时导入内存,用于进行句子翻译。 ⑵ 用户可以输入单词或者句子,在屏幕上显示对应翻译结果。 ⑶ 用户可对词汇表进行添加和删除,并能将更新的词汇表存储到文件中。 #defi…...
Django ORM魔法:用Python代码召唤数据库之灵!
探索Django ORM的神奇世界,学习如何用Python代码代替复杂的SQL语句,召唤数据库之灵,让数据管理变得轻松又有趣。从基础概念到高级技巧,阿佑带你一步步成为Django ORM的魔法师,让你的应用开发速度飞起来! 文…...
JetBrains Mono字体下载及安装
百度云字体下载 提取码:zida 1.mac 安装 选择文件夹中的所有字体文件,然后双击它们。点击“安装字体”按钮。 2.windows 安装 选择文件夹中的字体文件,右键单击其中任何一个,然后从菜单中选择“安装”。 3.linux 安装 将字体…...
【OS】AUTOSAR OS系统调用产生Trap的过程详解
目录 前言 正文 1.Os_Hal_Trap使用示例 2. Os_Hal_Trap的定义 3. syscall详解详解...
Java中的异常处理机制
在Java中,异常处理是一种重要的编程机制,用于处理程序运行时可能出现的错误情况。它提供了一种结构化的方式来处理异常情况,使程序能够更健壮、更易于维护。下面将从技术难点、面试官关注点、回答吸引力和代码举例四个方面来详细描述Java中的…...
什么是PLAB?
接上文PLAB---》 可以看到和TLAB很像,PLAB即 Promotion Local Allocation Buffers。用在年轻代对象晋升到老年代时。 在多线程并行执行YGC时,可能有很多对象需要晋升到老年代,此时老年代的指针就"热"起来了,于是搞了个…...
复试不考机试,初试300分以上,上岸稳了?东北林业大学计算机考研考情分析!
东北林业大学(Northeast Forestry University),简称东北林大(NEFU),位于黑龙江省哈尔滨市,是一所以林科为优势、林业工程为特色的中华人民共和国教育部直属高校,由教育部、国家林业局…...
【30天精通Prometheus:一站式监控实战指南】第12天:windows_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细
亲爱的读者们👋 欢迎加入【30天精通Prometheus】专栏!📚 在这里,我们将探索Prometheus的强大功能,并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。🚀 Prometheus是云原生和DevOps的…...
微信小程序的事件绑定方式
微信小程序的事件绑定方式主要包括以下几种,每种方式都有其特定的用法和特性: 基础绑定方式: bind:这是最基础的绑定方式,用于绑定事件处理函数。例如,bindtap用于绑定点击事件。当组件触发事件时…...
AR和AP重分类(Regroup)[FAGLF101/OBBU/OBBV]
一、为什么AR和AP科目需要重分类 1.1 执行操作的前提(重要) 存在AR的当月总余额在贷方(客户贷项凭证、预收账款等)或AP的当月总余额在借方(供应商贷项凭证、预收账款等),这种情况下无法真实的反映出资产和负债情况&…...
进程——linux
目录 冯诺依曼体系结构(计算机组成原理与体系结构) 关于冯诺依曼,必须强调几点: 操作系统(Operator System) 概念 设计OS的目的 定位 如何理解 "管理" 总结 系统调用和库函数概念 承上启下 一、进程 基本概念…...
关于如何通过APlayer+MetingJS为自己的wordpress博客网页添加网易音乐播放器(无需插件)
本文转自博主的个人博客:https://blog.zhumengmeng.work,欢迎大家前往查看。 原文链接:点我访问 序言:最近在网上冲浪,发现大家的博客大部分都有一个音乐播放器能够播放音乐,随机我也开始寻找解决方法。可是找来找去我…...
射频链路中 Coupler(耦合器)的作用分析
射频链路中 Coupler(耦合器)工程解析报告 ——原理、系统作用、工程实现及 Bi‑Directional Coupler 全解 1. Coupler 在射频链路里“到底起什么作用”(工程结论) Coupler 的本质作用只有一句话: 在**“不显著影响主射频链路”的前提下,抽取一小部分、方向可控的射频能量…...
Netscape 浏览器:互联网时代的先驱者
Netscape 浏览器:互联网时代的先驱者 引言 自互联网诞生以来,浏览器作为连接用户与网络世界的重要工具,见证了互联网的飞速发展。在众多浏览器中,Netscape 浏览器以其创新和引领潮流的特性,成为了互联网时代的先驱者。本文将回顾 Netscape 浏览器的发展历程、技术特点及…...
嵌入式Linux信号量实战:多线程互斥点灯程序设计与实现
1. 项目概述与核心思路最近在整理嵌入式Linux开发笔记时,翻到了一个挺有意思的小项目:用Linux信号量来实现一个互斥的点灯程序。听起来可能有点“杀鸡用牛刀”的感觉,毕竟点个灯用个全局变量或者简单的标志位也能搞定。但这个小项目背后的价值…...
如何在Windows上快速配置词法语法分析器:WinFlexBison完整实战指南
如何在Windows上快速配置词法语法分析器:WinFlexBison完整实战指南 【免费下载链接】winflexbison Main winflexbision repository 项目地址: https://gitcode.com/gh_mirrors/wi/winflexbison 你是否在Windows平台上开发编译器、解释器或配置文件解析器时&a…...
array_partition 怎么解决 Bank 冲突
1. complete 完全分区 把数组彻底打散,每个元素独立寄存器,不再占用 BRAM、无 Bank 概念,彻底消除冲突。 适合:小数组、高并行、要求 II1。 2. block 块分区 把数组平均切成若干大块,每块映射到独立 Bank,跨…...
零代码构建离线环境数据记录器:基于WipperSnapper与BME280的实践指南
1. 项目概述:告别代码,用离线数据记录器抓住每一刻环境数据如果你曾经想搭建一个能默默在角落记录温度、湿度或气压的小设备,但又觉得写代码、调试硬件太麻烦,那今天这个项目就是为你准备的。数据记录,听起来很专业&am…...
深度学习优化算法(四)—— 参数初始化策略(Xavier/Kaiming/正交)(三十六)
1. 定位导航 第 33-35 篇讨论了训练过程——但还有一个关键问题被忽略了:从哪里开始? Goodfellow 的警告: 训练深度模型是一个足够困难的问题,以至于大多数算法都很大程度地受到初始化选择的影响。初始点能够决定算法是否收敛、收敛速度、最终的代价值。 本篇专攻怎么挑一…...
FigmaCN:设计师的终极中文界面解决方案
FigmaCN:设计师的终极中文界面解决方案 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的全英文界面而苦恼吗?FigmaCN是专为中文用户打造的专业级本地…...
RK3588核心板赋能无人机智能飞控:异构计算与AI视觉实践
1. 项目概述:当高性能核心板遇上无人机最近在折腾一个挺有意思的项目,核心是把一块高性能的核心板——迅为的RK3588,塞进无人机里,让它成为飞控大脑。这听起来可能有点“大材小用”,毕竟RK3588这玩意儿算力不低&#x…...
Defender Control:Windows Defender 终极控制指南 - 如何永久禁用Windows安全防护
Defender Control:Windows Defender 终极控制指南 - 如何永久禁用Windows安全防护 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://gitcode.com/gh_mirrors/…...
