06 2022 档案
摘要:2022-06-30:以下golang代码输出什么?A:0;B:2;C:运行错误。 package main import "fmt" func main() { ints := make([]int, 1) ints = append(ints, 2) fmt.Println(ints[0]) }
阅读全文
2022-06-29:x = { a, b, c, d }, y = { e, f, g, h }, x、y两个小数组长度都是4。 如果有: a + e = b + f = c + g = d + h
摘要:2022-06-29:x = { a, b, c, d }, y = { e, f, g, h }, x、y两个小数组长度都是4。 如果有: a + e = b + f = c + g = d + h, 那么说x和y是一个完美对。 题目给定N个小数组,每个小数组长度都是K。 返回这N个小数组中,有多
阅读全文
摘要:2022-06-28:以下golang代码输出什么?A:true;B:false;C:panic;D:编译失败。 package main import "fmt" func main() { var p [100]int var m interface{} = [...]int{99: 0} fm
阅读全文
摘要:2022-06-27:给出一个长度为n的01串,现在请你找到两个区间, 使得这两个区间中,1的个数相等,0的个数也相等, 这两个区间可以相交,但是不可以完全重叠,即两个区间的左右端点不可以完全一样。 现在请你找到两个最长的区间,满足以上要求。 来自百度。 答案2022-06-27: 这道题取巧了。用
阅读全文
摘要:2022-06-26:以下golang代码输出什么?A:true;B:false;C:编译错误。 package main import "fmt" func main() { type pos [2]int a := pos{4, 5} b := pos{4, 5} fmt.Println(a =
阅读全文
2022-06-25:给定一个正数n, 表示有0~n-1号任务, 给定一个长度为n的数组time,time[i]表示i号任务做完的时间, 给定一个二维数组matrix, matrix[j] = {a,
摘要:2022-06-25:给定一个正数n, 表示有0~n-1号任务, 给定一个长度为n的数组time,time[i]表示i号任务做完的时间, 给定一个二维数组matrix, matrix[j] = {a, b} 代表:a任务想要开始,依赖b任务的完成, 只要能并行的任务都可以并行,但是任何任务只有依赖的
阅读全文
摘要:2022-06-24:golang选择题,以下golang代码输出什么?A:1;B:3;C:4;D:编译失败。 package main import ( "fmt" ) func main() { var nums1 []interface{} nums2 := []int{1, 3, 4} nu
阅读全文
摘要:2022-06-23:给定一个非负数组,任意选择数字,使累加和最大且为7的倍数,返回最大累加和。 n比较大,10的5次方。 来自美团。3.26笔试。 答案2022-06-23: 要i还是不要i,递归。可改成动态规划。 代码用rust编写。代码如下: use rand::Rng; fn main()
阅读全文
摘要:2022-06-22:golang选择题,以下golang代码输出什么?A:3;B:1;C:4;D:编译失败。 package main import ( "fmt" ) func main() { var nums1 []interface{} nums2 := []int{1, 3, 4} nu
阅读全文
摘要:golang调用sdl2,播放pcm音频,报错signal arrived during external code execution。 win10 x64下测试成功,其他操作系统下不保证成功。 采用的是syscall方式,不是cgo方式。 见地址 在go1.16.15编译后然后执行,会报如下错。
阅读全文
摘要:2022-06-21:golang选择题,以下golang代码输出什么?A:3;B:4;C:100;D:编译失败。 package main import ( "fmt" ) func main() { m := [...]int{ 'a': 1, 'b': 2, 'c': 3, } m['a']
阅读全文
摘要:2022-06-20:一个二维矩阵,上面只有 0 和 1,只能上下左右移动, 如果移动前后的元素值相同,则耗费 1 ,否则耗费 2。 问从左上到右下的最小耗费。 来自网易。3.27笔试。 答案2022-06-20: 1.网上非常流行的方法,但这是错误的。这道题动态规划是做不了的。因为上下左右四个方向
阅读全文
摘要:2022-06-19:给出n个数字,你可以任选其中一些数字相乘,相乘之后得到的新数字x, x的价值是x的不同质因子的数量。 返回所有选择数字的方案中,得到的x的价值之和。 来自携程。 答案2022-06-19: 今晚在群里吹牛给耽误了,具体见代码。 代码用rust编写。代码如下: use rand:
阅读全文
摘要:2022-06-18:golang与 C++数据结构类型对应关系是怎样的? 答案2022-06-18: uintptr和unsafe.Pointer相当于c++的void*,也就是任意指针。 uintptr可以参与指针运算,unsafe.Pointer不能参与指针运算。 c++和golang对照表如
阅读全文
摘要:2022-06-17:给定一个数组arr,含有n个数字,可能有正、有负、有0, 给定一个正数k。 返回所有子序列中,累加和最大的前k个子序列累加和。 假设K不大,怎么算最快? 来自Amazon。 答案2022-06-17: 排序,小根堆。 代码用rust编写。代码如下: fn main() { le
阅读全文
摘要:golang调用sdl2,播放yuv视频 win10 x64下测试成功,其他操作系统下不保证成功。 采用的是syscall方式,不是cgo方式。 见地址 代码如下: package main import ( "fmt" "github.com/moonfdd/sdl2-go/sdl" "githu
阅读全文
摘要:2022-06-16:给定一个数组arr,含有n个数字,都是非负数, 给定一个正数k, 返回所有子序列中,累加和最小的前k个子序列累加和。 假设K不大,怎么算最快? 来自亚马逊。 答案2022-06-16: 排序,小根堆。 代码用rust编写。代码如下: fn main() { let mut nu
阅读全文
摘要:golang调用sdl2,键盘和鼠标事件 win10 x64下测试成功,其他操作系统下不保证成功。 采用的是syscall方式,不是cgo方式。 见地址 代码用golang编写。代码如下: package main import ( "fmt" "github.com/moonfdd/sdl2-go
阅读全文
2022-06-15:薯队长最近在参加了一个活动,主办方提供了N个礼物以供挑选, 每个礼物有一个价值,范围在0 ~ 10^9之间, 薯队长可以从中挑选k个礼物。 返回:其中价值最接近的两件礼物之间相差
摘要:2022-06-15:薯队长最近在参加了一个活动,主办方提供了N个礼物以供挑选, 每个礼物有一个价值,范围在0 ~ 10^9之间, 薯队长可以从中挑选k个礼物。 返回:其中价值最接近的两件礼物之间相差值尽可能大的结果。 小红书第二题。 薯队长最近在玩一个游戏,这个游戏桌上会有一排不同颜色的方块, 每
阅读全文
摘要:golang版本sdl2显示窗体 go用syscall调用sdl2,在win10 x64上没问题,其他系统不敢保证。 见地址 package main import ( "fmt" "github.com/moonfdd/sdl2-go/sdl" "github.com/moonfdd/sdl2-g
阅读全文
2022-06-14:数组的最大与和。 给你一个长度为 n 的整数数组 nums 和一个整数 numSlots ,满足2 * numSlots >= n 。总共有 numSlots 个篮子,编号为 1
摘要:2022-06-14:数组的最大与和。 给你一个长度为 n 的整数数组 nums 和一个整数 numSlots ,满足2 * numSlots >= n 。总共有 numSlots 个篮子,编号为 1 到 numSlots 。 你需要把所有 n 个整数分到这些篮子中,且每个篮子 至多 有 2 个整数
阅读全文
摘要:2022-06-13:golang中,[]byte和结构体如何相互转换? 答案2022-06-13: []byte和结构体的转换的应用场景是数据解析。 代码里有两种方法,一种是内存不共用,另一种是内存共用。 []byte转结构体严格将首地址需要是8的倍数。但代码里并没有遵守这个规则,测试后也没问题。
阅读全文
2022-06-12:在N*N的正方形棋盘中,有N*N个棋子,那么每个格子正好可以拥有一个棋子。 但是现在有些棋子聚集到一个格子上了,比如: 2 0 3 0 1 0 3 0 0 如上的二维数组代表,一
摘要:2022-06-12:在NN的正方形棋盘中,有NN个棋子,那么每个格子正好可以拥有一个棋子。 但是现在有些棋子聚集到一个格子上了,比如: 2 0 3 0 1 0 3 0 0 如上的二维数组代表,一共3*3个格子, 但是有些格子有2个棋子、有些有3个、有些有1个、有些没有, 请你用棋子移动的方式,让每
阅读全文
2022-06-11:注意本文件中,graph不是邻接矩阵的含义,而是一个二部图。 在长度为N的邻接矩阵matrix中,所有的点有N个,matrix[i][j]表示点i到点j的距离或者权重, 而在二部
摘要:2022-06-11:注意本文件中,graph不是邻接矩阵的含义,而是一个二部图。 在长度为N的邻接矩阵matrix中,所有的点有N个,matrix[i][j]表示点i到点j的距离或者权重, 而在二部图graph中,所有的点有2*N个,行所对应的点有N个,列所对应的点有N个。 而且认为,行所对应的点
阅读全文
2022-06-10:薯队长从北向南穿过一片红薯地(南北长M,东西宽N),红薯地被划分为1x1的方格, 他可以从北边的任何一个格子出发,到达南边的任何一个格子, 但每一步只能走到东南、正南、西南方向的
摘要:2022-06-10:薯队长从北向南穿过一片红薯地(南北长M,东西宽N),红薯地被划分为1x1的方格, 他可以从北边的任何一个格子出发,到达南边的任何一个格子, 但每一步只能走到东南、正南、西南方向的三个格子之一, 而且不能跨出红薯地,他可以获得经过的格子上的所有红薯,请问他可以获得最多的红薯个数。
阅读全文
摘要:2022-06-09:每个会议给定开始和结束时间, 后面的会议如果跟前面的会议有任何冲突,完全取消冲突的、之前的会议,安排当前的。 给定一个会议数组,返回安排的会议列表。 来自通维数码。 答案2022-06-09: 彻底的流程模拟。线段树。 代码用rust编写。代码如下: use rand::Rng
阅读全文
摘要:2022-06-08:找到非负数组中拥有"最大或的结果"的最短子数组,返回最短长度。 答案2022-06-08: 双指针滑动窗口,统计32位数字每位1的个数。 代码用rust编写。代码如下: use rand::Rng; fn main() { let len: i32 = 50; let valu
阅读全文
2022-06-07:牛牛今年上幼儿园了,老师叫他学习减法, 老师给了他5个数字,他每次操作可以选择其中的4个数字减1, 减一之后的数字不能小于0,因为幼儿园的牛牛还没有接触过负数。 现在牛牛想知道,
摘要:2022-06-07:牛牛今年上幼儿园了,老师叫他学习减法, 老师给了他5个数字,他每次操作可以选择其中的4个数字减1, 减一之后的数字不能小于0,因为幼儿园的牛牛还没有接触过负数。 现在牛牛想知道,自己最多可以进行多少次这样的操作。 扩展问题来自leetcode 2141,掌握了这个题原始问题就非
阅读全文
2022-06-06:大妈一开始手上有x个鸡蛋,她想让手上的鸡蛋数量变成y, 操作1 : 从仓库里拿出1个鸡蛋到手上,x变成x+1个, 操作2 : 如果手上的鸡蛋数量是3的整数倍,大妈可以直接把三分之
摘要:2022-06-06:大妈一开始手上有x个鸡蛋,她想让手上的鸡蛋数量变成y, 操作1 : 从仓库里拿出1个鸡蛋到手上,x变成x+1个, 操作2 : 如果手上的鸡蛋数量是3的整数倍,大妈可以直接把三分之二的鸡蛋放回仓库,手里留下三分之一。 返回从x到y的最小操作次数。 1 <= x,y <= 10^1
阅读全文
2022-06-05:不规则数独问题。 3*3填数独, 每一行要填1~3, 每一列要填1~3, 3*3的区域会拆分成不规则的三个集团区域, 每个集团区域3个格子, 每个集团的区域都一定是一个连在一起的
摘要:2022-06-05:不规则数独问题。 33填数独, 每一行要填1~3, 每一列要填1~3, 33的区域会拆分成不规则的三个集团区域, 每个集团区域3个格子, 每个集团的区域都一定是一个连在一起的整体,可能不规则, 每个集团内要填1~3, 如果只有一个解返回"Unique",如果有多个解返回"Mul
阅读全文
2022-06-04:给定一个数字n,表示一开始有编号1~n的树木,列成一条直线, 给定一个有序数组arr,表示现在哪些树已经没了,arr[i]一定在[1,n]范围, 给定一个数字m,表示你可以补种多
摘要:2022-06-04:给定一个数字n,表示一开始有编号1~n的树木,列成一条直线, 给定一个有序数组arr,表示现在哪些树已经没了,arr[i]一定在[1,n]范围, 给定一个数字m,表示你可以补种多少棵树。 返回补种之后,最长的连续树木,有多少棵。 答案2022-06-04: 连续补种。滑动窗口。
阅读全文
摘要:2022-06-03:a -> b,代表a在食物链中被b捕食, 给定一个有向无环图,返回这个图中从最初级动物到最顶级捕食者的食物链有几条。 来自理想汽车。 答案2022-06-03: 拓扑排序。 代码用rust编写。代码如下: fn main() { let sc: Vec<i32> = vec![
阅读全文
摘要:2022-06-02:一开始在0位置,每一次都可以向左或者向右跳, 第i次能向左或者向右跳严格的i步。 请问从0到x位置,至少跳几次可以到达。 来自字节。 力扣754. 到达终点数字。 答案2022-06-02: 数学题,具体见代码。n*(n-1)/2。 走过头了,回头走,但需要保证奇偶性一致。 代
阅读全文
摘要:2022-06-01:给定一个数组arr,可能有正、有负、有0,无序。 只能挑选两个数字,想尽量让两个数字加起来的绝对值尽量小。 返回可能的最小的值。 答案2022-06-01: 排序,双指针。 代码用rust编写。代码如下: fn main() { let mut arr: Vec<i32> =
阅读全文