摘要: 实现两个协程轮流输出A 1 B 2 C 3 .... Z 26 方案1:有缓冲的chan func ChannelFunc() { // 思想:两个g,一个输出数字,一个输出字母,重点是如何控制两个g的打印顺序,让其可以轮流打印 // 分别使用两个缓存为1的chan,来控制两个g的打印顺序 strC 阅读全文
posted @ 2023-09-20 00:59 小星code 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 参考别人的思路: // 启动N个协程,共用一个外部变量计数器,计数器范围是1到100 // 开启N个有缓冲chan,chans[i]塞入数据代表协程i可以进行打印了,打印的数字就是计数器的数 // 协程i一直阻塞,直到chan[i]通道有数据可以拉,才打印 func main() { gorutin 阅读全文
posted @ 2023-09-20 00:35 小星code 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 题目链接: 剑指 Offer 68 - II. 二叉树的最近公共祖先 题目描述: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 解法思路: 代码: /** * Definition for a binary tree node. * type TreeNode struct { * Va 阅读全文
posted @ 2023-09-11 22:56 小星code 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题目链接: 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 题目描述: 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 解法思路: 代码: /** * Definition for a binary tree node. * type TreeNode struct { * 阅读全文
posted @ 2023-09-11 22:53 小星code 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题目链接: 剑指 Offer 67. 把字符串转换成整数 题目描述: 写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。 解法思路: 直接模拟题 代码: func strToInt(s string) int { s = strings.Trim 阅读全文
posted @ 2023-09-11 22:49 小星code 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题目链接: 剑指 Offer 66. 构建乘积数组 题目描述: **给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, ** 即 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n- 阅读全文
posted @ 2023-09-11 20:22 小星code 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题目链接: 剑指 Offer 65. 不用加减乘除做加法 题目描述: 写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。 解法思路: 不用加减乘除,那么可以用位运算代替: 可以用 a^b 运算表示无进位的加法 可以用 (a&b)<<1 表示进位 因此 阅读全文
posted @ 2023-09-11 20:03 小星code 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题目链接: 剑指 Offer 64. 求1+2+…+n 题目描述: 求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 解法思路: 代码: func sumNums(n int) int { res := 0 阅读全文
posted @ 2023-09-11 19:50 小星code 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题目链接: 剑指 Offer 63. 股票的最大利润 题目描述: 假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少? 解法思路: 使用 minv 记录前 i 天的最低价格,第 i 天卖出的利润就是 prices[i] - minv ,遍历一遍数组,不断更新最 阅读全文
posted @ 2023-09-11 19:42 小星code 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 题目链接: 剑指 Offer 62. 圆圈中最后剩下的数字 题目描述: 0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第 阅读全文
posted @ 2023-09-11 19:24 小星code 阅读(2) 评论(0) 推荐(0) 编辑