09 2023 档案

摘要:实现两个协程轮流输出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 阅读(132) 评论(0) 推荐(0)
摘要:参考别人的思路: // 启动N个协程,共用一个外部变量计数器,计数器范围是1到100 // 开启N个有缓冲chan,chans[i]塞入数据代表协程i可以进行打印了,打印的数字就是计数器的数 // 协程i一直阻塞,直到chan[i]通道有数据可以拉,才打印 func main() { gorutin 阅读全文
posted @ 2023-09-20 00:35 小星code 阅读(239) 评论(0) 推荐(0)
摘要:题目链接: 剑指 Offer 68 - II. 二叉树的最近公共祖先 题目描述: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 解法思路: 代码: /** * Definition for a binary tree node. * type TreeNode struct { * Va 阅读全文
posted @ 2023-09-11 22:55 小星code 阅读(24) 评论(0) 推荐(0)
摘要:题目链接: 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 题目描述: 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 解法思路: 代码: /** * Definition for a binary tree node. * type TreeNode struct { * 阅读全文
posted @ 2023-09-11 22:53 小星code 阅读(19) 评论(0) 推荐(0)
摘要:题目链接: 剑指 Offer 67. 把字符串转换成整数 题目描述: 写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。 解法思路: 直接模拟题 代码: func strToInt(s string) int { s = strings.Trim 阅读全文
posted @ 2023-09-11 22:49 小星code 阅读(16) 评论(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 阅读(22) 评论(0) 推荐(0)
摘要:题目链接: 剑指 Offer 65. 不用加减乘除做加法 题目描述: 写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。 解法思路: 不用加减乘除,那么可以用位运算代替: 可以用 a^b 运算表示无进位的加法 可以用 (a&b)<<1 表示进位 因此 阅读全文
posted @ 2023-09-11 20:03 小星code 阅读(22) 评论(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 阅读(15) 评论(0) 推荐(0)
摘要:题目链接: 剑指 Offer 63. 股票的最大利润 题目描述: 假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少? 解法思路: 使用 minv 记录前 i 天的最低价格,第 i 天卖出的利润就是 prices[i] - minv ,遍历一遍数组,不断更新最 阅读全文
posted @ 2023-09-11 19:42 小星code 阅读(30) 评论(0) 推荐(0)
摘要:题目链接: 剑指 Offer 62. 圆圈中最后剩下的数字 题目描述: 0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第 阅读全文
posted @ 2023-09-11 19:23 小星code 阅读(22) 评论(0) 推荐(0)
摘要:题目链接: 剑指 Offer 61. 扑克牌中的顺子 题目描述: 从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。 2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。 解法思路: 代码: // 1.将所有 阅读全文
posted @ 2023-09-11 19:08 小星code 阅读(34) 评论(0) 推荐(0)
摘要:题目链接: 剑指 Offer 60. n个骰子的点数 题目描述: 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 解法思路: 还未理解 代码: // 通常做法是声明一个二维数组 dp ,dp[i][j] 代表前 i 个骰子的点数和 j 的概率, // 阅读全文
posted @ 2023-09-11 19:07 小星code 阅读(25) 评论(0) 推荐(0)
摘要:题目链接: 剑指 Offer 59 - I. 滑动窗口的最大值 题目描述: 给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。 解法思路: 单调队列: 维护一个单调的队列,队列中保存的是对应数字的数组下标 每新加进来一个元素,首先删除队头(超出滑动窗口的范围的值) 然后比较 阅读全文
posted @ 2023-09-11 17:08 小星code 阅读(20) 评论(0) 推荐(0)
摘要:题目链接: 剑指 Offer 58 - II. 左旋转字符串 题目描述: 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。 比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 解法思路: 常规的切 阅读全文
posted @ 2023-09-11 16:33 小星code 阅读(26) 评论(0) 推荐(0)
摘要:题目链接: 剑指 Offer 56 - II. 数组中数字出现的次数 II 题目描述: 在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。 解法思路: 代码: 阅读全文
posted @ 2023-09-11 09:34 小星code 阅读(7) 评论(0) 推荐(0)
摘要:题目链接: 剑指 Offer 57 - II. 和为s的连续正数序列 题目描述: 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。 解法思路: 双指针: 当总和小于 target 时,j 指 阅读全文
posted @ 2023-09-10 22:42 小星code 阅读(19) 评论(0) 推荐(0)
摘要:题目链接: 剑指 Offer 56 - I. 数组中数字出现的次数 题目描述: 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 解法思路: 代码: func singleNumbers(nums [ 阅读全文
posted @ 2023-09-10 21:51 小星code 阅读(22) 评论(0) 推荐(0)
摘要:题目链接: 剑指 Offer 55 - II. 平衡二叉树 题目描述: 输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 解法思路: 求出二叉树中每个节点的左右子树的高度(利用上一题的代码) 判断左右子树的高度差是否超过 阅读全文
posted @ 2023-09-09 16:05 小星code 阅读(18) 评论(0) 推荐(0)
摘要:题目链接: 剑指 Offer 55 - I. 二叉树的深度 题目描述: 输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 解法思路: 代码: 层序遍历的方式求树的深度 /** * Definition for a bin 阅读全文
posted @ 2023-09-09 15:51 小星code 阅读(22) 评论(0) 推荐(0)
摘要:题目链接: 剑指 Offer 54. 二叉搜索树的第k大节点 题目描述: 给定一棵二叉搜索树,请找出其中第 k 大的节点的值。 解法思路: 由于题目中二叉树是二叉搜索树(中序遍历是升序的),要求的是第 k 大的节点值,也就是倒数第 k 个数, 因此可以转换一下遍历顺序,按照 右->根->左的顺序进行 阅读全文
posted @ 2023-09-09 15:39 小星code 阅读(27) 评论(0) 推荐(0)
摘要:匿名函数: 没有函数名的函数就是匿名函数 匿名函数的定义格式如下: func(参数)(返回值){ 函数体 } 基本使用: func main() { // 将匿名函数保存到变量 add := func(x, y int) { fmt.Println(x + y) } add(10, 20) // 通 阅读全文
posted @ 2023-09-09 15:07 小星code 阅读(140) 评论(0) 推荐(0)
摘要:**题目链接:** [剑指 Offer 53 - II. 0~n-1中缺失的数字](https://leetcode.cn/problems/que-shi-de-shu-zi-lcof/description/?envType=study-plan-v2&envId=coding-intervie 阅读全文
posted @ 2023-09-08 14:45 小星code 阅读(19) 评论(0) 推荐(0)
摘要:**题目链接:** [剑指 Offer 53 - I. 在排序数组中查找数字 I](https://leetcode.cn/problems/zai-pai-xu-shu-zu-zhong-cha-zhao-shu-zi-lcof/description/?envType=study-plan-v2 阅读全文
posted @ 2023-09-08 14:37 小星code 阅读(22) 评论(0) 推荐(0)
摘要:**题目链接:** [剑指 Offer 52. 两个链表的第一个公共节点](https://leetcode.cn/problems/liang-ge-lian-biao-de-di-yi-ge-gong-gong-jie-dian-lcof/description/?envType=study-p 阅读全文
posted @ 2023-09-08 14:26 小星code 阅读(17) 评论(0) 推荐(0)
摘要:**题目链接:** [剑指 Offer 51. 数组中的逆序对](https://leetcode.cn/problems/shu-zu-zhong-de-ni-xu-dui-lcof/?envType=study-plan-v2&envId=coding-interviews) **题目描述:** 阅读全文
posted @ 2023-09-08 14:18 小星code 阅读(28) 评论(0) 推荐(0)
摘要:**题目链接:** [剑指 Offer 50. 第一个只出现一次的字符](https://leetcode.cn/problems/di-yi-ge-zhi-chu-xian-yi-ci-de-zi-fu-lcof/description/?envType=study-plan-v2&envId=c 阅读全文
posted @ 2023-09-08 10:25 小星code 阅读(23) 评论(0) 推荐(0)
摘要:**题目链接:** [剑指 Offer 49. 丑数](https://leetcode.cn/problems/chou-shu-lcof/?envType=study-plan-v2&envId=coding-interviews) **题目描述:** 我们把只包含质因子 2、3 和 5 的数称 阅读全文
posted @ 2023-09-08 10:14 小星code 阅读(18) 评论(0) 推荐(0)
摘要:**题目链接:** [剑指Offer 48. 最长不含重复字符的子字符串](https://leetcode.cn/problems/zui-chang-bu-han-zhong-fu-zi-fu-de-zi-zi-fu-chuan-lcof/description/?envType=study-p 阅读全文
posted @ 2023-09-08 09:59 小星code 阅读(13) 评论(0) 推荐(0)
摘要:**题目链接:** [剑指 Offer 47. 礼物的最大价值](https://leetcode.cn/problems/li-wu-de-zui-da-jie-zhi-lcof/description/?envType=study-plan-v2&envId=coding-interviews) 阅读全文
posted @ 2023-09-07 18:26 小星code 阅读(21) 评论(0) 推荐(0)
摘要:**题目链接:** [剑指 Offer 46. 把数字翻译成字符串](https://leetcode.cn/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan-lcof/description/?envType=study-plan-v2&envId=codin 阅读全文
posted @ 2023-09-07 17:14 小星code 阅读(24) 评论(0) 推荐(0)
摘要:**题目链接:** [剑指Offer 43. 1~n 整数中 1 出现的次数](https://leetcode.cn/problems/1nzheng-shu-zhong-1chu-xian-de-ci-shu-lcof/?envType=study-plan-v2&envId=coding-in 阅读全文
posted @ 2023-09-07 16:46 小星code 阅读(19) 评论(0) 推荐(0)
摘要:**题目链接:** []() **题目描述:** **解法思路:** **代码:** ```golang func findNthDigit(n int) int { // 1、确定是几位数( -10-90-900-9000等) // 2、确定是几位数的第几位数(求第n位数是属于哪一个数的) // 阅读全文
posted @ 2023-09-07 16:43 小星code 阅读(17) 评论(0) 推荐(0)
摘要:**题目链接:** [剑指 Offer 45. 把数组排成最小的数](https://leetcode.cn/problems/ba-shu-zu-pai-cheng-zui-xiao-de-shu-lcof/description/?envType=study-plan-v2&envId=codi 阅读全文
posted @ 2023-09-07 16:37 小星code 阅读(27) 评论(0) 推荐(0)
摘要:**题目链接:** [剑指 Offer 42. 连续子数组的最大和](https://leetcode.cn/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/description/?envType=study-plan-v2&envId=coding-in 阅读全文
posted @ 2023-09-07 14:30 小星code 阅读(25) 评论(0) 推荐(0)