找到关于编程的34423 篇文章

Go 语言程序:递归实现先序遍历给定二叉树

Rishikesh Kumar Rishi
更新于 2021年3月18日 05:40:47

609 次浏览

示例假设我们有如下二叉树。先序遍历输出:1, 2, 4, 5, 3, 6, 7。解决方法步骤 1 - 如果给定树的根节点为空,则返回;否则,按照以下步骤操作。步骤 2 - 打印根节点数据。步骤 3 - 遍历左子树。步骤 4 - 遍历右子树。示例 在线演示package main import "fmt" type Node struct {    data int    left *Node    right *Node } func (root *Node)PreOrderTraversal(){    if root !=nil{       fmt.Printf("%d ", root.data)       root.left.PreOrderTraversal()       root.right.PreOrderTraversal()     ... 阅读更多

Go 语言程序:查找给定数组中出现次数为奇数的元素

Rishikesh Kumar Rishi
更新于 2021年3月18日 05:37:15

266 次浏览

示例例如,arr = [1, 4, 5, 1, 4, 5, 1] => 数组中出现次数为奇数的元素是:1解决方法步骤 1 - 定义接受数组的方法。步骤 2 - 声明一个异或变量,即 xor := 0。步骤 3 - 迭代输入数组并对数组的每个元素执行异或运算。步骤 4 - 最后,返回 xor。示例 在线演示package main import (    "fmt" ) func FindOddOccurringElement(arr []int) int{    xor := 0    for i := 0; i < len(arr); i++ {       xor = xor ^ arr[i]    }    return ... 阅读更多

Go 语言程序:检查给定数字是否是 4 的幂

Rishikesh Kumar Rishi
更新于 2021年3月18日 05:35:10

174 次浏览

示例例如,n = 12 => 12 不是 4 的幂。例如,n = 64 => 64 是 4 的幂。解决方法步骤 1 - 定义一个接受数字 n 的方法。步骤 2 - 将 log(n) 除以 log(4),存储在 res 中。步骤 3 - 如果 res 的 floor 与 res 相同,则打印 n 是 4 的幂。步骤 4 - 否则,打印 n 不是 4 的幂。示例 在线演示package main import (    "fmt"    "math" ) func CheckPowerOf4(n int){    res := math.Log(float64(n)) / math.Log(float64(4))    if ... 阅读更多

Go 语言程序:向上舍入到下一个较小的 2 的幂。

Rishikesh Kumar Rishi
更新于 2021年3月18日 05:31:42

148 次浏览

示例例如,n = 12 => 前一个 2 的幂是 8。例如,n = 20 => 前一个 2 的幂是 16。解决方法步骤 1 - 定义一个接受数字 n 的方法。步骤 2 - 执行 n | (n >> k),其中 k 为 1, 2, 4, 8, 16。步骤 3 - 最后,返回 n - (n >> 1)。示例 在线演示package main import "fmt" func PreviousPowOf2(n int) int{    n = n | (n >> 1)    n = n | (n >> 2)    n = n | (n >> 4)    n ... 阅读更多

Go 语言程序:向上舍入到下一个最大的 2 的幂。

Rishikesh Kumar Rishi
更新于 2021年3月18日 05:29:55

473 次浏览

示例例如,n = 12 => 下一个 2 的幂是 16。例如,n = 20 => 下一个 2 的幂是 32。解决方法步骤 1 - 定义一个接受数字 n 的方法。步骤 2 - 迭代 k := 1 直到 k < n。步骤 3 - 在循环中,计算 k

Go 语言程序:使用二进制运算符查找最小和最大数字。

Rishikesh Kumar Rishi
更新于 2021年3月17日 11:39:20

181 次浏览

示例例如,x = 12,y = 15 => 最大数字是 15。例如,x = 13,y = 17 => 最小数字是 13。解决方法步骤 1 - 定义方法 findMax 和 findMin,它们接受两个整数 x 和 y。步骤 2 - 根据定义的方法返回整数。示例 在线演示package main import "fmt" func FindMax(x, y int){    fmt.Printf("最大元素 %d 和 %d 是:%d", x, y, x - ((x - y) &      ((x - y) >> 31))) } func FindMin(x, y int) {    fmt.Printf("最小元素 %d 和 %d 是:%d", x, y, y ... 阅读更多

Go 语言程序:计算整数中的设置位数。

Rishikesh Kumar Rishi
更新于 2021年3月17日 11:38:50

2K+ 次浏览

示例例如,101、11、11011 和 1001001 的设置位数分别为 2、2、4 和 3。解决方法步骤 1 - 将数字转换为二进制表示。步骤 2 - 计算 1 的数量;返回计数。示例 在线演示package main import (    "fmt"    "strconv" ) func NumOfSetBits(n int) int{    count := 0    for n !=0{       count += n & 1       n >>= 1    }    return count } func main(){    n := 20    fmt.Printf("20 的二进制表示为:%s。",      strconv.FormatInt(int64(n), 2))    fmt.Printf("20 中设置位的总数为 %d。", NumOfSetBits(n)) }输出20 的二进制表示为:10100。20 中设置位的总数为 2。

Go 语言程序:检查数字的二进制表示是否为回文。

Rishikesh Kumar Rishi
更新于 2021年3月17日 11:26:31

197 次浏览

示例例如,101、11、11011、1001001 是回文。100、10010 不是回文。解决方法步骤 1 - 将数字转换为二进制表示。步骤 2 - 从两侧遍历转换后的二进制表示,并检查表示是否为回文。示例 在线演示package main import (    "fmt"    "strconv" ) func IsPalindrome(n int) bool{    rev := 0    k := n    for k != 0 {       rev = (rev > 1    }    return n == rev } func main(){    n := 3    fmt.Printf("3 的二进制表示为:%s。",      strconv.FormatInt(int64(n), 2))    if IsPalindrome(n) == true{       fmt.Println("回文")    } else {       fmt.Println("不是回文")    } }输出3 的二进制表示为:11。回文

Go 语言程序:计算将给定整数转换为另一个整数所需的翻转次数。

Rishikesh Kumar Rishi
更新于 2021年3月17日 11:20:53

102 次浏览

示例考虑两个数字 m = 65 => 01000001 和 n = 80 => 01010000翻转的位数为 2。解决方法步骤 1 - 将两个数字转换为位。步骤 2 - 计算翻转的位数。示例 在线演示package main import (    "fmt"    "strconv" ) func FindBits(x, y int) int{    n := x ^ y    count := 0    for ;n!=0; count++{       n = n & (n-1)    }    return count } func main(){    x := 65    y := 80    fmt.Printf("65 的二进制为:%s。", strconv.FormatInt(int64(x), 2))     ... 阅读更多

Go 语言程序:使用二进制运算符将大写字符转换为小写字符。

Rishikesh Kumar Rishi
更新于 2022年4月4日 09:21:37

818 次浏览

在 Go 语言中,我们可以使用二进制运算符“&”(AND)和“|”(OR)将字符串从大写转换为小写,反之亦然。让我们来看一个简单的示例,并了解如何在 Go 语言中使用这些二进制运算符。 示例package main import "fmt" func main(){    fmt.Printf("使用 OR 运算符的小写字符:")        for ch:='A'; ch

广告
© . All rights reserved.