Java?C++題解leetcode817鏈表組件示例
更新時間:2022年10月12日 15:11:56 作者:AnjaVon
這篇文章主要為大家介紹了Java?C++題解leetcode817鏈表組件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
題目要求
思路:模擬
Java
class Solution { public int numComponents(ListNode head, int[] nums) { int res = 0; Set<Integer> set = new HashSet<>(); for (int x : nums) set.add(x); // 轉存nums while (head != null) { if (set.contains(head.val)) { while (head != null && set.contains(head.val)) head = head.next; res++; } else { head = head.next; } } return res; } }
- 時間復雜度:O(n),遍歷整個鏈表
- 空間復雜度:O(n),轉存nums
C++
class Solution { public: int numComponents(ListNode* head, vector<int>& nums) { int res = 0; unordered_set<int> set(nums.begin(), nums.end()); // 轉存nums while (head) { if (set.count(head->val)) { while (head && set.count(head->val)) head = head->next; res++; } else { head = head->next; } } return res; } };
- 時間復雜度:O(n),遍歷整個鏈表
- 空間復雜度:O(n),轉存nums
Rust
use std::collections::HashSet; impl Solution { pub fn num_components(mut head: Option<Box<ListNode>>, nums: Vec<i32>) -> i32 { let mut head = head.as_ref(); let mut res = 0; let mut status = false; // 是否處于同一個組件 while let Some(node) = head { if nums.contains(&node.val) { if !status { res += 1; status = true; } } else { status = false; } head = node.next.as_ref(); } res } }
- 時間復雜度:O(n),遍歷整個鏈表
- 空間復雜度:O(n),轉存nums
總結
簡單模擬題,沒想到轉存用哈希表的內(nèi)置函數(shù),還想著要排序方便查找……對于消耗空間的方法總是不太敏感。
以上就是Java C++題解leetcode817鏈表組件示例的詳細內(nèi)容,更多關于Java C++題解鏈表組件的資料請關注腳本之家其它相關文章!
相關文章
使用ElasticSearch6.0快速實現(xiàn)全文搜索功能的示例代碼
本篇文章主要介紹了使用ElasticSearch6.0快速實現(xiàn)全文搜索功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02IDEA報錯:Process terminated的問題及解決
這篇文章主要介紹了IDEA報錯:Process terminated的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11java自定義注解實現(xiàn)前后臺參數(shù)校驗的實例
下面小編就為大家?guī)硪黄猨ava自定義注解實現(xiàn)前后臺參數(shù)校驗的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11JavaWeb使用Session和Cookie實現(xiàn)登錄認證
本篇文章主要介紹了JavaWeb使用Session和Cookie實現(xiàn)登錄認證,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03Springboot實現(xiàn)多線程及線程池監(jiān)控
線程池的監(jiān)控很重要,本文就來介紹一下Springboot實現(xiàn)多線程及線程池監(jiān)控,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧2024-01-01