547 次檢視
示例輸入陣列 = [1, 3, 5, 7, 8, 9],和 = 11 => (3, 8)解決此問題的方法步驟 1:定義一個接受陣列和和的方法。步驟 2:定義一個對映變數,型別為 map[int]int。步驟 3:迭代給定的陣列為 i。步驟 4:如果對映 sum-arr[i] 中不存在鍵,則 mapping[arr[i]]=i。步驟 5:如果存在,則列印“找到配對”。步驟 6:最後,列印“未找到配對”。程式現場演示包 main 匯入 "fmt" 函式 findSumPair(arr []int, sum int){ mapping := make(map[int]int) for i:=0; i
215 次檢視
示例輸入陣列 = [1, 3, 5, 7, 8, 9],和 = 11 => (3, 8)解決此問題的方法步驟 1:定義一個接受陣列和和的方法。步驟 2:對給定陣列進行排序,宣告 low:=0 和 high:=size-1 變數。步驟 3:迭代 for 迴圈,直到 low sum,則 high--。步驟 5:最後,列印“未找到配對”。程式現場演示包 main 匯入 ( "fmt" "sort" ) 函式 findSumPair(arr []int, sum int){ sort.Ints(arr) low := 0 high := len(arr) - 1 for low
456 次檢視
示例輸入陣列 = [4, 1, 6, 8, 7, 2, 3],和 = 11 => (4, 7) 或 (8, 3)解決此問題的方法步驟 1:定義一個接受陣列和和的方法。步驟 2:從 0 到 n 迭代為 i。步驟 3:再次,從 i+1 到 n-1 迭代 for 迴圈為 j。步驟 4:如果 arr[i] + arr[j] == sum,則返回 arr[i] 和 arr[j]。步驟 5:最後,列印配對未找到。程式現場演示包 main 匯入 ( "fmt" ) 函式 findSumPair(arr []int, sum int){ for i:=0; i
548 次檢視
示例輸入陣列 = [1, 3, 4, 3, 2, 3, 4, 0, 2]元素13420頻率13221解決此問題的方法步驟 1:定義一個接受陣列的方法。步驟 2:定義一個對映,其中鍵將是陣列的元素,起始值為 0。步驟 3:開始迭代輸入陣列。如果對映中存在元素,則遞增計數。步驟 4:如果對映中不存在元素,則儲存在對映中並將其值設為 1。程式現場演示包 main 匯入 ( "fmt" ) 函式 findFrequencyOfArray(arr []int){ frequency := make(map[int]int) for _, item := range arr{ ... 閱讀更多
317 次檢視
示例輸入 arr = [7, 15, 21, 26, 33] => 陣列已排序。輸入 arr = [7, 5, 1, 6, 3] => 陣列未排序。解決此問題的方法步驟 1:從第 0 個索引迭代到 n-1。步驟 2:從第 0 個索引迭代到 n-1-i,其中 i 是上面迴圈的索引。步驟 3:如果在第一次迭代中沒有發生交換,則列印“陣列已排序”。步驟 4:如果發生交換,則列印“陣列未排序”。程式現場演示包 main 匯入 "fmt" 函式 checkSortedArray(arr []int){ sortedArray := true for i:=0; i
510 次檢視
解決此問題的方法步驟 1:從第 0 個索引迭代到 n-1,其中 n 是給定陣列的大小。步驟 2:宣告 low=第 0 個索引和 high=n-1。啟動一個 for 迴圈,直到 low 小於 high。步驟 3:查詢 mid=(low+high)/2,如果中間的元素等於 key,則返回 mid 索引。步驟 4:如果 mid 處的元素大於 key,則將 high 設為 mid。步驟 5:如果 mid 處的元素小於 key,則將 low 設為 mid + 1。步驟 6:如果給定...中不存在 key 閱讀更多
498 次檢視
定義:氣泡排序是最簡單的排序演算法,它透過重複交換相鄰元素(如果它們處於錯誤的順序)來工作。示例輸入 arr = [7, 5, 1, 6, 3]第 1 次迭代 => swap(7, 5) => swap(7, 1) => swap(7, 6) => swap(7, 3) => [5, 1, 6, 3, 7]第 2 次迭代 => [1, 5, 3, 6, 7]第 3 次迭代 => [1, 3, 5, 6, 7]第 4 次迭代 => [1, 3, 5, 6, 7]第 5 次迭代 => [1, 3, 5, 6, 7]解決此問題的方法步驟 1:從第 0 個索引迭代到 n-1。步驟 2:從第 0 個索引迭代到 n-1-i,... 閱讀更多
3K+ 次檢視
示例輸入 num1=3 和 num2=8 => 素數為:3、5、7輸入 num1=8 和 num2=23 => 素數為:11、13、17、19、23解決此問題的方法步驟 1:定義一個接受兩個數字 num1 和 num2 的函式,型別為 int。步驟 2:在 num1 和 num2 之間迭代。步驟 3:如果數字是素數,則列印該數字,否則中斷。程式現場演示包 main 匯入 ( "fmt" "math" ) 函式 printPrimeNumbers(num1, num2 int){ if num1
239 次檢視
示例在輸入陣列中,arr = [2, 4, 6, 7, 8, 1, 2]2 在給定陣列中的頻率為 27 的頻率為 13 的頻率為 0。解決此問題的方法步驟 1:定義一個接受陣列和 num 的函式步驟 2:宣告一個變數 count = 0。步驟 3:迭代給定陣列,如果陣列中出現 num,則將 count 增加 1。步驟 4:列印給定 num 的 count。程式現場演示包 main 匯入 "fmt" 函式 findFrequency(arr []int, num int){ count := 0 for _, item := range arr{ if item == ... 閱讀更多
2K+ 次檢視
示例輸入 decimal_num = 13 => 輸出 = 8+4+1 => 1101輸入 decimal_num = 11 => 輸出 = 8+2+1 => 1011解決此問題的方法步驟 1:定義一個接受十進位制數 decimal_num 的函式,型別為 int。步驟 2:定義一個數組來儲存將十進位制數除以 2 時的餘數。步驟 3:啟動一個 for 迴圈,直到十進位制數變為 0。步驟 4:以相反的順序列印二進位制陣列。程式現場演示包 main 匯入 ( "fmt" ) 函式 decimalToBinary(num int){ var binary []int for num !=0 { binary = append(binary, num%2) ... 閱讀更多