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) ... 阅读更多