代码随想录Day64
98.所有可达路径
题目:98. 所有可达路径 (kamacoder.com)
思路:果断放弃
答案
import java.util.*;public class Main {private static List<List<Integer>> adjList;private static List<List<Integer>> allPaths;private static int target;public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int m = scanner.nextInt();adjList = new ArrayList<>();for (int i = 0; i < n + 1; i++) {adjList.add(new ArrayList<>());}for (int i = 0; i < m; i++) {int s = scanner.nextInt();int t = scanner.nextInt();adjList.get(s).add(t);}target = n;allPaths = new ArrayList<>();List<Integer> currentPath = new ArrayList<>();currentPath.add(1);findAllPaths(1, currentPath);if (allPaths.isEmpty()) {System.out.println("-1");} else {for (List<Integer> path : allPaths) {System.out.println(formatPath(path));}}scanner.close();}private static void findAllPaths(int currentNode, List<Integer> currentPath) {if (currentNode == target) {allPaths.add(new ArrayList<>(currentPath));return;}for (int nextNode : adjList.get(currentNode)) {currentPath.add(nextNode);findAllPaths(nextNode, currentPath);currentPath.remove(currentPath.size() - 1);}}private static String formatPath(List<Integer> path) {StringBuilder sb = new StringBuilder();for (int i = 0; i < path.size(); i++) {sb.append(path.get(i));if (i < path.size() - 1) {sb.append(" ");}}return sb.toString();}
}
小结
- 注意,要按照题目格式输出
- 使用回溯算法
- 确认递归函数,参数
- 确定终止条件
- 处理目前搜索节点出发的路径
相关文章:
代码随想录Day64
98.所有可达路径 题目:98. 所有可达路径 (kamacoder.com) 思路:果断放弃 答案 import java.util.*;public class Main {private static List<List<Integer>> adjList;private static List<List<Integer>> allPaths;private sta…...
Angular 指令
Angular 指令是 Angular 框架中的一项核心功能,它允许开发人员扩展 HTML 的功能,并创建可复用的组件和行为。以下是一些常见的 Angular 指令: 1. 组件指令 (Component Directives) 组件指令是最常用的一种指令,用于创建可复用的 U…...
移动端 UI 风格,书写华丽篇章
移动端 UI 风格,书写华丽篇章...
flutter开发实战-ListWheelScrollView与自定义TimePicker时间选择器
flutter开发实战-ListWheelScrollView与自定义TimePicker 最近在使用时间选择器的时候,需要自定义一个TimePicker效果,当然这里就使用了ListWheelScrollView。ListWheelScrollView与ListView类似,但ListWheelScrollView渲染效果类似滚筒效果…...
stable diffusion 模型和lora融合
炜哥的AI学习笔记——SuperMerger插件学习 - 哔哩哔哩接下来学习的插件名字叫做 SuperMerger,它的作用正如其名,可以融合大模型或者 LoRA,一般来说会结合之前的插件 LoRA Block Weight 使用,在调整完成 LoRA 模型的权重后使用改插件进行重新打包。除了 LoRA ,Checkpoint 也…...
Spring Boot中的分布式缓存方案
Spring Boot中的分布式缓存方案 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨在Spring Boot应用中实现分布式缓存的方案,以提升系统…...
AI写作革命:如何用AI工具轻松搞定700+学科的论文?
不知道大家有没有发现,随着人工智能技术的快速发展,AI工具正逐渐渗透到我们日常生活的各个方面,极大地提高了我们的工作和学习效率。无论是AI写作、AI绘画、AI思维导图,还是AI幻灯片制作,这些工具已成为我们不可或缺的…...
v-for中key的原理以及用法
在 Vue.js 中,v-for 指令用于基于源数据多次渲染元素或模板块。当使用 v-for 渲染列表时,为每个列表项提供一个唯一的 key 属性是非常重要的。key 的主要作用是帮助 Vue 跟踪每个节点的身份,从而重用和重新排序现有元素。 先来张原理图&#…...
基于强化学习的目标跟踪论文合集
文章目录 2020UAV Maneuvering Target Tracking in Uncertain Environments Based on Deep Reinforcement Learning and Meta-LearningUAV Target Tracking in Urban Environments Using Deep Reinforcement Learning 2021Research on Vehicle Dispatch Problem Based on Kuhn-…...
高质量AIGC/ChatGPT/大模型资料分享
2023年要说科技圈什么最火爆,一定是ChatGPT、AIGC(人工智能生成内容)和大型语言模型。这些技术前沿如同科技世界的新潮流,巨浪拍岸,引发各界关注。ChatGPT的互动性和逼真度让人们瞠目,它能与用户展开流畅对…...
使用Python进行Socket接口测试
大家好,在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色…...
C++编程逻辑讲解step by step:存折和信用卡类。
题目 存折和信用卡类,信用卡是一种存折,可以透支,可以存款。 代码 #include<iostream> #include<string> using namespace std; class passbook {public: passbook(string nam,int n,float m) {namenam; numn; balancem; } vo…...
为什么说BIM在机电安装行业是刚需?3D开发工具HOOPS如何促进BIM发展?
在建筑行业中,机电安装是一个复杂且精细的工程领域,它涉及到电气、管道、通风和控制系统等多个方面。随着建筑项目规模的不断扩大和复杂性的增加,传统的二维设计方法已经难以满足现代建筑的需求。正是在这种背景下,BIM技术应运而生…...
SQLite:一个极简使用教程
SQLite是一个轻量级的、文件系统基础的数据库,它被设计为配置简单、易于部署。SQLite数据库存储在一个单一的磁盘文件中,这意味着数据库的创建和维护都非常简单。 1. SQLite特点 轻量级:SQLite不需要一个独立的服务器进程。它是一个嵌入式SQ…...
酒水公司网站品牌建设宣传如何进行
红酒、白酒、啤酒、米酒、精酿啤酒等各种各样的酒水类型和从业公司数量比较多,部分品牌有收藏价值/价格高但销量相对较低,也有部分属于亲民,价格低但销量高,国内外受众广,人员标签不同生意拓展面自然也不同。 无论如何…...
【高级篇】InnoDB引擎深入:核心机制与实战优化(十五)
引言 在探索了MySQL集群与分布式技术之后,我们进入了数据库引擎的核心地带——InnoDB。作为MySQL的默认存储引擎,InnoDB凭借其对事务的支持、行级锁定、高效的恢复机制以及复杂的内存管理,成为众多应用场景的首选。本章,我们将深入InnoDB的内部机制,透彻理解锁管理、事务…...
打造安全的Linux环境:关键配置指南
打造安全的Linux环境:关键配置指南 Linux作为一款开源的操作系统,因其稳定性、灵活性和安全性而受到广泛欢迎。然而,即使Linux系统本身设计得相对安全,不正确的配置或管理不善也可能导致安全风险。本文将指导你如何通过关键配置来…...
什么是WABF验证?
今年的618电商购物节已经落下帷幕,在此期间,各大电商平台都普遍迎来了用户访问量、优惠券领取量和交易量的显著增长。在这一时期,业务安全成为电商平台关注的焦点。验证码作为一种常见的业务安全工具,能够有效应对业务安全问题。然…...
CSS3 分页
CSS3 分页 分页是网页设计中常见的一种布局方式,它允许将内容分布在多个页面中,从而提高用户体验和网站的可管理性。CSS3 提供了多种灵活的方式来设计分页,使得开发者能够创建既美观又实用的分页导航。本文将详细介绍如何使用 CSS3 来创建和…...
QWebChannel实现与JS的交互
QWebChannel实现与JS的交互 在利用Qt框架的QWebEngineView进行嵌入浏览器开发时,可以很方便的通过 QWebChannel实现与js的交互,本节内容简单讲解js与Qt应用程序相互发送消息。 最近做项目遇到了这个问题,发现网上的例子不全,很多…...
ARM GICv3中断控制器与ICC_CTLR寄存器详解
1. ARM GICv3中断控制器概述在ARM架构的嵌入式系统中,通用中断控制器(GIC)是管理硬件中断请求的核心组件。GICv3作为当前主流的版本,相比前代架构进行了多项重要改进,其中CPU接口寄存器组的增强尤为显著。作为系统开发者,深入理解…...
3分钟掌握PPT演示时间管理的终极方案:智能悬浮计时器
3分钟掌握PPT演示时间管理的终极方案:智能悬浮计时器 【免费下载链接】ppttimer 一个简易的 PPT 计时器 项目地址: https://gitcode.com/gh_mirrors/pp/ppttimer 在演讲、汇报、教学等场景中,时间管理是成功的关键因素。PPTTimer作为一款专为Wind…...
如何快速解密RPG Maker加密文件:新手必看的完整解密指南
如何快速解密RPG Maker加密文件:新手必看的完整解密指南 【免费下载链接】RPGMakerDecrypter Tool for decrypting and extracting RPG Maker XP, VX and VX Ace encrypted archives and MV and MZ encrypted files. 项目地址: https://gitcode.com/gh_mirrors/rp…...
weave-compose实战:用Docker Compose语法轻松构建多主机容器集群
1. 项目概述与核心价值最近在折腾容器编排,特别是想找一个比Kubernetes更轻量、更贴近Docker原生体验的方案。在GitHub上闲逛时,发现了Adityaraj0421/weave-compose这个项目。乍一看名字,以为是Docker Compose的某个魔改版,但深入…...
【雕爷学编程】Arduino动手做(1)---干簧管传感器模块
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和各种模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐一做做小实验,不管能否成功,都会记录下来—小小的进步或是搞不掂…...
基于LLM与OpenClaw的智能自动化:构建自然语言驱动的桌面脚本生成器
1. 项目概述:连接两个世界的桥梁最近在折腾一个挺有意思的项目,叫hermes-openclaw-bridge。光看这个名字,可能有点摸不着头脑,但如果你同时关注过大型语言模型(LLM)和自动化脚本工具,大概就能猜…...
终极指南:如何快速掌握Clean Code PHP编码规范提升团队协作效率
终极指南:如何快速掌握Clean Code PHP编码规范提升团队协作效率 【免费下载链接】clean-code-php :bathtub: Clean Code concepts adapted for PHP 项目地址: https://gitcode.com/gh_mirrors/cl/clean-code-php 在PHP开发中,编写清晰、可维护的代…...
模拟内存计算与ReRAM在触觉手势识别中的应用
1. 模拟内存计算技术概述模拟内存计算(Analog In-Memory Computing,简称AiMC)正在彻底改变传统计算架构的设计范式。这项技术的核心突破在于打破了困扰计算领域长达半个多世纪的"冯诺依曼瓶颈"——即处理器与存储器之间的数据搬运带…...
从A*到平滑:拉绳算法如何为游戏角色“剪裁”最优路径
1. 游戏寻路为什么需要平滑处理? 想象一下你在玩一款开放世界游戏,控制角色从城堡出发前往远处的森林。如果直接使用A*算法生成的路径,角色可能会像喝醉酒一样左右摇摆,贴着导航网格的边缘移动。这种"锯齿状路径"不仅看…...
利用 Taotoken 多模型聚合能力为智能体应用构建灵活后端
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用 Taotoken 多模型聚合能力为智能体应用构建灵活后端 在构建智能体应用时,一个常见的挑战是如何为不同的任务选择合…...
