首页 > TAG信息列表 > visited

拓扑排序

日常项目开发中,一般流程是产品经理提出需求,相关人员进行需求评审,然后是前后端工程师开发功能,再到测试、发布上线。 流程如下:                                                                   图-1 可以看到,这些步骤是存在先后(依赖)关系的:前

图的遍历(深搜和宽搜)

深度优先搜索 (Depth First Search) 深度优先搜索也叫深度优先遍历,简称DFS或者深搜。 是基于栈的搜索算法,其过程,是对每一个可能的分支路径深入到不能再深入为止,而且每个结点只能访问一次。 图解: 当前访问 入栈结点 出栈结点 栈内结点 说明 0 0 0 以0为根开始遍历 4 4

leetcode.60. 排列序列

给出集合 [1,2,3,...,n],其所有元素共有 n! 种排列。 按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下: "123""132""213""231""312""321"给定 n 和 k,返回第 k 个排列。   示例 1: 输入:n = 3, k = 3输出:"213"示例 2: 输入:n = 4, k = 9输出:"

47 permutation II

Given a collection of numbers, nums, that might contain duplicates, return all possible unique permutations in any order.   Example 1: Input: nums = [1,1,2] Output: [[1,1,2], [1,2,1], [2,1,1]] Example 2: Input: nums = [1,2,3] Output: [[1,2,3],[1,3,2],

力扣今日题-565. 数组嵌套

565. 数组嵌套 思路: class Solution { public int arrayNesting(int[] n) { int numsLength = n.length; boolean[] visited = new boolean[numsLength]; int res= 1; for(int i = 0 ; i < numsLength; i++){ if(res > num

LeetCode 1345. Jump Game IV

原题链接在这里:https://leetcode.com/problems/jump-game-iv/ 题目: Given an array of integers arr, you are initially positioned at the first index of the array. In one step you can jump from index i to index: i + 1 where: i + 1 < arr.length. i - 1 where:

第四单元总结及课程总结

一、第四单元总结 第13次作业 UML类图 本次作业首先要充分理解类图的层次结构,对类、接口与属性、方法之间的关系有充分了解,并对UML中继承、实现、关联关系的具体表示有充分认识,能够区分reference、source、target、assciation、associationEnd等概念。 另一个重要的问题就

考研C语言数据结构-图(图的邻接矩阵实现 + 广度、深度优先遍历)

图的结构如下: 图的邻接矩阵实现 + 广度(BFS)、深度(DFS)优先遍历: #include<stdio.h> #include<stdlib.h> #define MAXVEXNUM 10 // 定义图的邻接矩阵存储结构 struct MGraph{ int vex[MAXVEXNUM]; // 顶点集 int edge[MAXVEXNUM][MAXVEXNUM]; // 边集 int vexNum, arcNum;

leetcode 547. Number of Provinces 省份数量(中等)

一、题目大意 标签:搜索 https://leetcode.cn/problems/number-of-provinces 有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。 省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。

拓扑排序

判断拓扑排序有入度表方式和深度优先(锁路径)无回路方式 其中入度表的能通过栈完成所有无前驱节点访问,也能通过队列广度优先完成访问,本质上只是存储无前驱节点的容器 构建对应拓扑序列序列只能用入度表的方式,按顺序解锁无前驱节点 bool TopologicalSort(Graph G){ sta

拓撲排序(搬運)

class Solution { #define maxn 10010 vector<int> edges[maxn]; public: vector<int> eventualSafeNodes(vector<vector<int>>& graph) { int i, j; int n = graph.size(); bool visited[maxn]; i

LeetCode/单词搜索

给定一个m x n二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用 1. 回溯法 类

算法模板笔记

DFS:完全遍历,找到 符合设定条件 的所有结果,时间复杂度高 BFS:部分遍历,找到 最短/最小的结果,空间复杂度高 BFS模版: int BFS(Node start, Node target) { deque<Node> q;//--核心数据结构 set<Node> visited;//--避免走回头路的数据结构 q.push_back(start);/* 将起

1020. 飞地的数量(BFS 和并查集)

1020. 飞地的数量 给你一个大小为 m x n 的二进制矩阵 grid ,其中 0 表示一个海洋单元格、1 表示一个陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相邻(上、下、左、右)的陆地单元格或跨过 grid 的边界。 返回网格中 无法 在任意次数的移动中离开网格边界

322. 零钱兑换(BFS + 动态规划)

322. 零钱兑换 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。   示例 1: 输入:coins = [1, 2,

面试题 04.01. 节点间通路-----DFS、BFS

题目表述 节点间通路。给定有向图,设计一个算法,找出两个节点之间是否存在一条路径。 示例: 输入: n = 3, graph = [[0, 1], [0, 2], [1, 2], [1, 2]], start = 0, target = 2 输出: true DFS、BFS 根据graph构建邻接表,可以用map构建,也可以用List构建。 BFS: 创建队列que存放当前节

417. 太平洋大西洋水流问题(BFS)

417. 太平洋大西洋水流问题 有一个 m × n 的矩形岛屿,与 太平洋 和 大西洋 相邻。 “太平洋” 处于大陆的左边界和上边界,而 “大西洋” 处于大陆的右边界和下边界。 这个岛被分割成一个由若干方形单元格组成的网格。给定一个 m x n 的整数矩阵 heights , heights

695. 岛屿的最大面积(BFS)

695. 岛屿的最大面积 给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 岛屿的面积是岛上值为 1 的

linux for命令

for 循环用于重复一组命令 语法: for var in list do commands done 带有单引号的参数可以通过转义字符\ 或者双引号来定义用到单引号的值 #!/bin/bash for test in I don\'t know if "this'll" work do echo "word:$test" done for循环读取变量时 可以通过 var=$var"var_n

Leetcode1020飞地的数量-----深度优先搜索

题目表述 给你一个大小为 m x n 的二进制矩阵 grid ,其中 0 表示一个海洋单元格、1 表示一个陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相邻(上、下、左、右)的陆地单元格或跨过 grid 的边界。 返回网格中 无法 在任意次数的移动中离开网格边界的陆地单元格的数量。 示

[LeetCode] 1293. Shortest Path in a Grid with Obstacles Elimination 网格中的最短路径

You are given an m x n integer matrix grid where each cell is either 0 (empty) or 1 (obstacle). You can move up, down, left, or right from and to an empty cell in one step. Return the minimum number of steps to walk from the upper left corner (0

矩阵中的路径(DFS)

矩阵中的路径 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。 路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。 如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 注意: 输入的路径不

LeetCode698划分为k个相等的子集-----深度优先搜索

题目表述 给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。 示例: 输入: nums = [4, 3, 2, 3, 5, 2, 1], k = 4 输出: True 说明: 有可能将其分成 4 个子集(5),(1,4),(2,3),(2,3)等于总和。 深度优先搜索 该题的核心在于将数组划分为k个组,每个组的

sass基本使用整理

1、使用变量(使用$符号标识变量)比如$highlight-color 变量声明:可以在css规则块定义之外存在。当定义在css规则块内,则该变量只能在规则块内使用 变量引用:border: 1px solid $highlight-color; 变量命名:可以使用中划线和下划线,效果相同 通过 #{} 插值语句可以在选择器或属

Spring Boot 2.x 和 1.x 的区别

1. Spring Boot 2.0 要求Java版本必须8以上,不再支持6和7 2. Spring Boot 2 支持Quartz调度器,可以加入spring-boot-starter-quartz来启用。支持基于内存和基于jdbc两种存储。 3. 单元测试不同 4. Spring Boot 2 需要 Spring5,需要ES5.5以上 5. 支持Spring WebFlux(响应式编程)。WebFlu