使用C++編寫,在矩陣中找到給定和的一對數字
在本文中,我們將討論在給定矩陣中尋找具有給定和的對的程式。例如 -
Input : matrix[n][m] = { { 4, 6, 4, 65 }, { 56, 1, 12, 32 }, { 4, 5, 6, 44 }, { 13, 9, 11, 25 } }, SUM = 20 Output : Pair exists. Explanation : Sum = 20 is equal to the sum of numbers 9 and 11 which exists in the matrix. Input : matrix[n][m] = { { 5, 7, 3, 45 }, { 63, 5, 3, 7 }, { 11, 6, 9, 5 }, { 8, 6, 14, 15 } }, SUM = 13 Output : Pair does not exist. Explanation : No pair exists in the matrix whose sum is equal to 7.
尋找解決方案的方法
現在我們將解釋兩種不同的方法來尋找上述問題的解決方案。
暴力方法
考慮給定矩陣中的每一對,檢查該對的總和是否等於給定的SUM,如果是,則列印「Pair isn't」;否則,列印“配對不存在”。應用這種方法非常簡單,但它會將時間複雜度提高到 O((N*M)2)。
高效方法
該程式可以透過使用hash儲存所有矩陣元素,然後遍歷矩陣並檢查[ SUM & (index element) ]的差異是否相等。如果是,則列印“Exist”並退出程式。如果為NO,則遍歷print後,「不存在」。
範例
#include <bits/stdc++.h> using namespace std; #define n 4 #define m 4 int main() { int matrix[n][m] = { { 5,7, 3,45 }, { 63, 5, 3, 7 }, { 11, 6, 9, 5 }, { 8, 6, 14, 15 } }; int sum = 7; unordered_set<int> hash; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (hash.find(sum - matrix[i][j]) != hash.end()) { cout << "Pair exists." << endl; return 0; } else { hash.insert(matrix[i][j]); } } } cout << "Pair does not exist." << endl; return 0; }
輸出
Pair does not exist.
上述程式碼說明
- #聲明二維陣列並在其中儲存元素。
- 遍歷陣列尋找 if (sum - Matrix[i][j]) != hash.end()。
- 如果條件滿足,則列印「Pair contains」並從主函數返回。
- 否則,繼續遍歷數組,最後列印「 Pair does notise.」。
結論
在本文中,我們討論了在矩陣中尋找具有給定總和的對或二維數組;我們討論了解決這個問題的暴力方法和有效方法。我們討論了C 程式來解決這個問題。但是,我們可以用任何其他語言(例如 C、Java、Python 等)編寫此程式。我們希望本文對您有所幫助。
以上是使用C++編寫,在矩陣中找到給定和的一對數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

在本系列的第一篇文章中,我們討論了人工智慧、機器學習、深度學習、資料科學等領域的關聯和差異。我們也為整個系列將使用的程式語言、工具等做出了一些艱難的選擇。最後,我們也介紹了一點矩陣的知識。在本文中,我們將深入討論人工智慧的核心——矩陣。不過在此之前,我們先來了解一下人工智慧的歷史我們為什麼需要了解人工智慧的歷史呢?歷史上曾出現過多次人工智慧熱潮,但在許多情況下,對人工智慧潛力的巨大期望都未能達成。了解人工智慧的歷史,有助於讓我們看清這次人工智浪潮是會創造奇蹟,抑或只是另一個即將破滅的泡沫。我們

一種受歡迎的通用程式語言是Python。它被應用於各種行業,包括桌面應用程式、網頁開發和機器學習。幸運的是,Python具有簡單易懂的文法,適合初學者使用。在本文中,我們將使用Python來計算矩陣的右對角線總和。什麼是矩陣?在數學中,我們使用一個矩形排列或矩陣,用於描述一個數學物件或其屬性,它是一個包含數字、符號或表達式的矩形數組或表格,這些數字、符號或表達式按行和列排列。例如−234512367574因此,這是一個有3行4列的矩陣,表示為3*4矩陣。現在,矩陣中有兩條對角線,即主對角線和次對

R55600搭配華碩哪個主機板華碩ROGStrixB550-FGaming主機板是個非常優秀的選擇。它與Ryzen55600X處理器完美兼容,並提供出色的性能和功能。此主機板具備可靠的供電系統,可支援超頻,並提供豐富的擴充插槽和連接埠,滿足日常使用和遊戲需求。 ROGStrixB550-FGaming還配備了高品質的音訊解決方案、快速的網路連接和可靠的散熱設計,確保系統保持高效穩定。此外,此主機板還採用了華麗的ROG風格,並配備了華麗的RGB照明效果,為您的電腦增添了視覺享受。總而言之,華碩ROGStri

賽揚g4900和i36100哪個好當涉及到賽揚G4900和I36100這兩款處理器時,毫無疑問,I36100的性能更勝一籌。賽揚處理器通常被視為低階處理器,主要用於廉價筆記型電腦。而I3處理器則主要用於高階處理器,其效能非常出色。不論是玩遊戲還是觀看視頻,使用I3處理器都不會出現任何卡頓情況。因此,如果你有可能,盡量選擇購買英特爾I系列處理器,特別是用於桌上型電腦,這樣你就能享受網路世界的樂趣了。賽揚G4900T性能怎麼樣從性能方面來看,奔騰G4900T在頻率方面表現出色,相比之前的版本,CPU性能

在本文中,我們將學習如何使用Python中的numpy函式庫計算矩陣的行列式。矩陣的行列式是一個可以以緊湊形式表示矩陣的標量值。它是線性代數中一個有用的量,並且在物理學、工程學和計算機科學等各個領域都有多種應用。在本文中,我們首先將討論行列式的定義和性質。然後我們將學習如何使用numpy計算矩陣的行列式,並透過一些實例來看它在實踐中的應用。行列式的定義與性質Thedeterminantofamatrixisascalarvaluethatcanbeusedtodescribethepropertie

我們都知道不是任何數字的平方的數字,如2、3、5、7、8等。非平方數有N個,不可能知道每個數字。因此,在本文中,我們將解釋有關無平方數或非平方數的所有內容,以及在C++中尋找第N個非平方數的方法。第N個非平方數如果一個數是整數的平方,則該數稱為完全平方數。完全平方數的一些例子是-1issquareof14issquareof29issquareof316issquareof425issquareof5如果一個數不是任何整數的平方,則該數稱為非平方數。例如,前15個非平方數是-2,3,5,6,

矩陣是按行和列排列的一組數字。 m行n列的矩陣稱為mXn矩陣,m和n稱為其維度。矩陣是一個二維數組,在Python中使用列表或NumPy數組創建。一般來說,矩陣乘法可以透過將第一個矩陣的行乘以第二個矩陣的列來完成。這裡,第一矩陣的列數應等於第二矩陣的行數。輸入輸出場景假設我們有兩個矩陣A和B,這兩個矩陣的維度分別為2X3和3X2。相乘後得到的矩陣將有2行1列。 [b1,b2][a1,a2,a3]*[b3,b4]=[a1*b1+a2*b2+a3*a3][a4,a5,a6][b5,b6][a4*b2+a

使用者必須輸入兩個矩陣的順序以及兩個矩陣的元素。然後,比較這兩個矩陣。如果矩陣元素和大小都相等,則表示兩個矩陣相等。如果矩陣大小相等但元素相等不相等,則顯示矩陣可以比較,但不相等。如果大小和元素不匹配,則顯示矩陣無法比較。程式以下是C程序,用以比較兩個矩陣是否相等-#include<stdio.h>#include<conio.h>main(){ intA[10][10],B[10][10]; in
