力扣785. 判斷二分圖

力扣785. 判斷二分圖

題目

在這里插入圖片描述

題目解析及思路

題目要求將所有節點分成兩部分,每條邊的兩個端點都必須在不同集合中

二分圖:BFS/DFS/并查集

因為圖不一定聯通,所以枚舉所有點都做bfs(如果沒聯通的話)

代碼

class Solution {
public:bool isBipartite(vector<vector<int>>& graph) {int n = graph.size();vector<int> st(n,0);for(int i=0;i<n;i++){if(st[i] == 0){queue<int> q;q.push(i);//先染成1st[i] = 1;while(q.size()){int t = q.front();//equal為和t的顏色不一樣的那個顏色int equal = (st[t] == 1 ? 2 : 1);q.pop();for(int v : graph[t]){//沒被染色if(st[v] == 0){q.push(v);st[v] = equal;}//染過色而且是相同顏色else if(st[v] != equal){return false;}}}}}return true;}
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71174.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71174.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71174.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

springboot之集成Elasticsearch

目錄 二、Elasticsearch 是什么&#xff1f;三、Elasticsearch 安裝四、Springboot 集成 Elasticsearch 的方式五、創建項目集成 Elasticsearch 2.創建 Spring Initializr 項目 es &#xff08;3&#xff09;.新建實體類 User&#xff08;4&#xff09;.新建 dao 接口類 UserR…

[Lc滑動窗口_1] 長度最小的數組 | 無重復字符的最長子串 | 最大連續1的個數 III | 將 x 減到 0 的最小操作數

目錄 1. 長度最小的字數組 題解 代碼 ?2.無重復字符的最長子串 題解 代碼 3.最大連續1的個數 III 題解 代碼 4.將 x 減到 0 的最小操作數 題解 代碼 1. 長度最小的字數組 題目鏈接&#xff1a;209.長度最小的字數組 題目分析: 給定一個含有 n 個 正整數 的數組…

數據集筆記:新加坡 地鐵(MRT)和輕軌(LRT)票價

數據連接 data.gov.sg 2024 年 12 月 28 日起生效的新加坡地鐵票價 該數據集包含 MRT 和 LRT 票價的信息&#xff0c;包括&#xff1a; 票價類型&#xff08;Fare Type&#xff09;&#xff1a;成人票、學生票、老年人票、殘障人士票等。適用時間&#xff08;Applicable Tim…

湘潭大學計算機復試詳細攻略(調劑)

一&#xff0c;寫在前面的話 ① 首先&#xff0c;能完成考試初試來到這里的都是勇士。不管結果如何&#xff0c;不管成績如何。我都在這里真心的祝福你以后一帆風順。 ② 目前學歷貶值嚴重&#xff0c;如果是成績不理想的話&#xff0c;我建議能工作就去工作&#xff0c;工作不…

【前端基礎】Day 3 CSS-2

目錄 1. Emmet語法 1.1 快速生成HTML結構語法 1.2 快速生成CSS樣式語法 2. CSS的復合選擇器 2.1 后代選擇器 2.2 子選擇器 2.3 并集選擇器 2.4 偽類選擇器 2.4.1 鏈接偽類選擇器 2.4.2 focus偽類選擇器 2.5 復合選擇器總結 3. CSS的元素顯示模式 3.1 什么是元素顯示…

不同數據類型在數據庫和編程語言之間的對應關系表

不同數據類型在數據庫和編程語言之間的對應關系表 MySql 與 C# MySqlC#varcharstringbigintlongbigint unsignedulongintintint unsigneduintsmallintshortsmallint unsignedushortVARCHAR(36)GuidsmalldatetimeDateTimedateDateTimedatetimeDateTimetimestampDateTimefloatf…

RabbitMQ操作實戰

1.RabbitMQ安裝 RabbitMQ Windows 安裝、配置、使用 - 小白教程-騰訊云開發者社區-騰訊云下載erlang&#xff1a;http://www.erlang.org/downloads/https://cloud.tencent.com/developer/article/2192340 Windows 10安裝RabbitMQ及延時消息插件rabbitmq_delayed_message_exch…

DeepSeek教unity------UI元素長按響應

主要功能說明&#xff1a; ?長按檢測&#xff1a;通過記錄指針按下的時間&#xff0c;判斷是否達到 longClickTime&#xff0c;從而觸發長按事件。?狀態管理&#xff1a;使用 StateEnum 枚舉管理點擊項的當前狀態&#xff08;未按下、按下等待長按、長按已觸發&#xff09;。…

【北京迅為】itop-3568 開發板openharmony鴻蒙燒寫及測試-第2章OpenHarmony v3.2-Beta4版本測試

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工藝&#xff0c;搭載一顆四核Cortex-A55處理器和Mali G52 2EE 圖形處理器。RK3568 支持4K 解碼和 1080P 編碼&#xff0c;支持SATA/PCIE/USB3.0 外圍接口。RK3568內置獨立NPU&#xff0c;可用于輕量級人工…

stm32hal庫尋跡+藍牙智能車(STM32F103C8T6)

簡介: 這個小車的芯片是STM32F103C8T6&#xff0c;其他的芯片也可以照貓畫虎,基本配置差不多,要注意的就是,管腳復用,管腳的特殊功能,(這點不用擔心,hal庫每個管腳的功能都會給你羅列,很方便的.)由于我做的比較簡單,只是用到了幾個簡單外設.主要是由帶霍爾編碼器電機的車模,電機…

SQL命令詳解之操作數據庫

操作數據庫 SQL是用于管理和操作關系型數據庫的標準語言。數據庫操作是SQL的核心功能之一&#xff0c;主要用于創建、修改和刪除數據庫對象&#xff0c;如數據庫、表、視圖和索引等。以下是SQL中常見的數據庫操作命令及其功能簡介&#xff1a; 1. 查詢數據庫 查詢所有的數據庫…

Go紅隊開發—編解碼工具

文章目錄 開啟一個項目編解碼工具開發Dongle包Base64編解碼摩斯密碼URL加解密AES加解密 MD5碰撞工具開發 開啟一個項目 這作為補充內容&#xff0c;可忽略直接看下面的編解碼&#xff1a; 一開始用就按照下面的步驟即可 1.創建一個文件夾&#xff0c;你自己定義名字(建議只用…

Starrocks入門(二)

1、背景&#xff1a;考慮到Starrocks入門這篇文章&#xff0c;安裝的是3.0.1版本的SR&#xff0c;參考&#xff1a;Starrocks入門-CSDN博客 但是官網的文檔&#xff0c;沒有對應3.0.x版本的資料&#xff0c;卻有3.2或者3.3或者3.4或者3.1或者2.5版本的資料&#xff0c;不要用較…

工程化與框架系列(10)--微前端架構

微前端架構 &#x1f3d7;? 微前端是一種將前端應用分解成更小、更易管理的獨立部分的架構模式。本文將詳細介紹微前端的核心概念、實現方案和最佳實踐。 微前端概述 &#x1f31f; &#x1f4a1; 小知識&#xff1a;微前端的核心理念是將前端應用分解成一系列獨立部署、松耦…

SwiftUI之狀態管理全解析

文章目錄 引言一、`@State`1.1 基本概念1.2 初始化與默認值1.3 注意事項二、`@Binding`2.1 基本概念2.2 初始化與使用2.3 注意事項三、`@ObservedObject`3.1 基本概念3.2 初始化與使用3.3 注意事項四、`@EnvironmentObject`4.1 基本概念4.2 初始化與使用4.3 注意事項五、`@Stat…

Redis 高可用性:如何讓你的緩存一直在線,穩定運行?

&#x1f3af; 引言&#xff1a;Redis的高可用性為啥這么重要&#xff1f; 在現代高可用系統中&#xff0c;Redis 是一款不可或缺的分布式緩存與數據庫系統。無論是提升訪問速度&#xff0c;還是實現數據的高效持久化&#xff0c;Redis 都能輕松搞定。可是&#xff0c;當你把 …

面試題:說一下你對DDD的了解?

面試題:說一下你對DDD的了解? 在面試中,關于 DDD(領域驅動設計,Domain-Driven Design) 的問題是一個常見的技術考察點。DDD 是一種軟件設計方法論,旨在通過深入理解業務領域來構建復雜的軟件系統。以下是一個清晰、詳細的回答模板,幫助你在面試中脫穎而出: DDD 的定義…

Redis---緩存穿透,雪崩,擊穿

文章目錄 緩存穿透什么是緩存穿透&#xff1f;緩存穿透情況的處理流程是怎樣的&#xff1f;緩存穿透的解決辦法緩存無效 key布隆過濾器 緩存雪崩什么是緩存雪崩&#xff1f;緩存雪崩的解決辦法 緩存擊穿什么是緩存擊穿&#xff1f;緩存擊穿的解決辦法 區別對比 在如今的開發中&…

Android Logcat 高效調試指南

工具概覽 Logcat 是 Android SDK 提供的命令行日志工具&#xff0c;支持靈活過濾、格式定制和實時監控&#xff0c;官方文檔詳見 Android Developer。 基礎用法 命令格式 [adb] logcat [<option>] ... [<filter-spec>] ... 執行方式 直接調用&#xff08;通過ADB守…

【定昌Linux系統】部署了java程序,設置開啟啟動

將代碼上傳到相應的目錄&#xff0c;并且配置了一個.sh的啟動腳本文件 文件內容&#xff1a; #!/bin/bash# 指定JAR文件的路徑&#xff08;如果JAR文件在當前目錄&#xff0c;可以直接使用文件名&#xff09; JAR_FILE"/usr/local/java/xs_luruan_client/lib/xs_luruan_…