- 博客(112)
- 收藏
- 关注
原创 Go-Task12-并行编程
目录1.并发编程1.1 并发与并行1.2 为什么需要并发?1.3 Go并发原语1.3.1 协程Goroutines1.3.2 通道Channel打卡结束了, 但Go的学习真的完结了吗?1.并发编程1.1 并发与并行Erlang 之父 Joe Armstrong曾经以下图解释并发与并行。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5gHSbAUe-1608972337948)(https://github.com/datawhalechina/go-talent/r
2020-12-26 16:46:23
277
2
原创 Go-Task12-单元测试
1.单元测试写完spring boot再详细填坑Orz本节代码样例见code/utest文件夹在日常开发中,我们通常需要针对现有的功能进行单元测试,以验证开发的正确性。 在go标准库中有一个叫做testing的测试框架,可以进行单元测试,命令是go test xxx。测试文件通常是以xx_test.go命名,放在同一包下面。1.1 初探Go单元测试现在假设现在需求是:完成两个复数相加,我们只需要一个函数便可以完成该任务。在开发中,我们需要对该函数进行功能测试,如何快速进行单元测试呢?鼠标
2020-12-25 19:42:45
224
原创 Go-Task11-反射机制
目录1.反射机制1.1 反射是什么1.2 反射的作用1.3 反射的实现1.3.1 反射三定律1.4 反射的实践此外, 知乎上看到一个文章讲的很好链接1.反射机制1.1 反射是什么反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。Go 语言提供了一种机制在运行时更新变量和检查它们的值、调用它们的方法,但是在编译时并不知道这些变量的具体类型,这称为反射机制。1.2 反射的作用1.在编写不定传参类型函数的时候,或传入类型过多时典型应
2020-12-24 16:57:04
221
1
原创 Go-Task10-异常处理
目录1.异常处理1.1 error1.2 panic1.3 源码分析1.异常处理1.1 errorGo语言内置了一个简单的错误接口作为一种错误处理机制,接口定义如下:type error interface { Error() string}它包含一个 Error() 方法,返回值为stringGo的error构造有两种方式,分别是第一种:errors.New()err := errors.New("This is an error")if err != nil { fmt.Pr
2020-12-23 13:51:56
238
原创 Go-Task9-包管理
1.包管理1.1 Go Modules是什么?Go语言通过包管理来封装模块和复用代码,这里我们只介绍Go Modules管理方法Go Modules于Go语言1.11版本时引入,在1.12版本正式支持,是由Go语言官方提供的包管理解决方案Modules是相关Go包的集合,是源代码交换和版本控制的单元。go命令直接支持使用Modules,包括记录和解析对其他模块的依赖性1.2 Go Modules的使用方法1.2.1 环境变量首先需要设置环境变量,可以使用go env命令查看当前配置。$ go
2020-12-22 09:32:12
226
1
原创 Go-Task8-结构体-方法-接口
目录1.结构体、方法、接口1.1.结构体1.1.1 结构体定义1.1.2 操作结构体1.1.3 标签1.1.4 内嵌结构体1.1.5 测试测试1测试21.2 方法1.2.1 方法定义1.2.2 方法接收者1.3 接口1.3.1 接口定义1.3.2 实现接口测试测试1测试21.3.3 类型断言1.3.4 空接口1.结构体、方法、接口1.1.结构体Go 语言中没有“类”的概念,也不支持像继承这种面向对象的概念。但是Go 语言的结构体与“类”都是复合结构体,而且Go 语言中结构体的组合方式比面向对象具有更高
2020-12-21 16:55:32
542
原创 Go-Task7-函数
目录1.函数1.1函数定义1.2值传递与引用传递1.3变长参数1.4多返回值1.5命名返回值1.6匿名函数1.7闭包2.课后题1.函数1.1函数定义在go语言中函数定义格式如下:func functionName([parameter list]) [returnTypes]{ //body}函数由func关键字进行声明。functionName:代表函数名。parameter list:代表参数列表,函数的参数是可选的,可以包含参数也可以不包含参数。returnTypes:返回
2020-12-20 14:14:06
401
原创 Go-Task6-数组-切片
数组、切片由于太长(存在习题)放到了文章最后ps: 这一章主要都花在了练习题上Orz, 熟悉又陌生的编程语言, 果然不能想当然的去认为一些事情…1.数组1.1如何定义数组数组是具有相同类型且长度固定的一组连续数据。在go语言中我们可以使用如下几种方式来定义数组。func part1() { // 定义 var arr1 = [5]int{} var arr2 = [5]int{1,2,3,4,5} var arr3 = [5]int{3:10} fmt.Println(arr1)
2020-12-19 17:42:14
674
1
原创 Go-Task5-字典-字符串
字典, 字符串字典map是一种较为特殊的数据结构,在任何一种编程语言中都可以看见他的身影,它是一种键值对结构,通过给定的key可以快速获得对应的value。如何定义字典func dict1(){ var m1 map[string]int m2 := make(map[int]interface{}, 100) m3 := map[string]string{ "name": "zhangsan", "age": "22", } fmt.Println(m1) // map[]
2020-12-18 16:55:22
162
1
原创 Go-Task4-运算符-控制语句
运算符, 控制语句以下测试代码中的函数都传入了这些参数func main() { exercise1(10, 20) // 算术 exercise2(10, 20) // 关系 exercise3(true, false) //逻辑 exercise4(0b1100, 0b0110) // 位运算 0b表示2进制数(方便观察位运算) exercise5(10, 20) // 赋值 exercise6(10) // 其他 exercise7(10) // 条件 exercise8("榴
2020-12-17 19:26:48
213
原创 Go - Task3 - 变量, 常量, 枚举
Task3 - 变量, 常量, 枚举typeora放到csdn上好丑= =参考:Go语言圣经(中文版)Datawhale Task2变量格式 var 变量名 类型 = 表达式类型 / 表达式 两个部分可以省略一个省略表达式, 那么变量将给据类型来进行默认赋值数值: 0布尔: false字符串: “”接口/引用类型: nil数组/结构体等聚合类型对应的0值为每个元素都是其对应该类型的0值省略类型, 那么变量将会根据初始化的表达式来推导变量的类型零
2020-12-16 20:40:17
160
原创 Go - Task2 - 数据类型,关键字,标识符
Task2 - 数据类型,关键字,标识符数据类型基础数据类型布尔var b1 bool = truevar b2 bool = falsefmt.Println("b1 =", b1, "b2 =", b2)运算&&||&& 的优先级大于 ||整型int8, int16, int32, int64 -> 8,16,32,64bit有符号整数uint8, uint16, uint32, uint64 -> 8, 16, 32
2020-12-15 19:45:06
154
原创 Go - Task1 - 初探
Task01 - 初探环境安装安装Go官网下载Go: https://golang.org/dl/我选择的是 go1.15.6.windows-amd64安装windows下会自动添加到环境变量中故一路next配置好后在cmd中输入就可以看到结果了go version安装GoLand官网下载GoLand: https://www.jetbrains.com/go/download/#section=windows我这边选择的是: goland-2020.3
2020-12-14 17:30:40
351
原创 华为云活动&牛客活动 初次体验
不到10分钟就算是白嫖到了 华为云服务器 一年的学生机我选择的CentOS 7.6 64bit1核2G 1M 本以为会比较卡用之ssh登录之后发现速度可以接受之前在树莓派上乱搞 3B+放到现在也只是变成了 真买后路由器刚好学校也开了 linux 课程 想了想 挺合适的vscode+sftp+ssh 简直不能再爽!云服务器12个月,学生价 99元,返现90元; 这点真是太值了...
2019-11-12 20:35:06
258
原创 L3-014 周游世界 (30 分) Dijkstra+堆优化+链式前向星
周游世界是件浪漫事,但规划旅行路线就不一定了…… 全世界有成千上万条航线、铁路线、大巴线,令人眼花缭乱。所以旅行社会选择部分运输公司组成联盟,每家公司提供一条线路,然后帮助客户规划由联盟内企业支持的旅行路线。本题就要求你帮旅行社实现一个自动规划路线的程序,使得对任何给定的起点和终点,可以找出最顺畅的路线。所谓“最顺畅”,首先是指中途经停站最少;如果经停站一样多,则取需要换乘线路次数最少的路线。输...
2019-03-28 19:45:23
930
原创 L3-011 直捣黄龙 (30 分) Dijkstra+前向星+堆优化+map映射
本题是一部战争大片 —— 你需要从己方大本营出发,一路攻城略地杀到敌方大本营。首先时间就是生命,所以你必须选择合适的路径,以最快的速度占领敌方大本营。当这样的路径不唯一时,要求选择可以沿途解放最多城镇的路径。若这样的路径也不唯一,则选择可以有效杀伤最多敌军的路径。输入格式:输入第一行给出 2 个正整数 N(2 ≤ N ≤ 200,城镇总数)和 K(城镇间道路条数),以及己方大本营和敌方大本营的...
2019-03-27 17:21:08
448
3
原创 L3-008 喊山 (30 分)
喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤。呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的。原来它是彝族先民用来求援呼救的“讯号”,慢慢地人们在生活实践中发现了它的实用价值,便把它作为一种交流工具世代传袭使用。(图文摘自:http://news.xrxxw.com/newsshow-8018.html)一...
2019-03-27 17:08:24
1550
原创 L3-007 天梯地图 (30 分) 两遍 Dijkstra+堆优化
本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线;一条是最短距离的路线。题目保证对任意的查询请求,地图上都至少存在一条可达路线。输入格式:输入在第一行给出两个正整数N(2 ≤ N ≤ 500)和M,分别为地图中所有标记地点的个数和连接地点的道路条数。随后M行,每行按如下格式给出一条道路的信息:V1 V2 one-way le...
2019-03-27 17:00:12
547
原创 L3-005 垃圾箱分布 (30 分) 最短路
大家倒垃圾的时候,都希望垃圾箱距离自己比较近,但是谁都不愿意守着垃圾箱住。所以垃圾箱的位置必须选在到所有居民点的最短距离最长的地方,同时还要保证每个居民点都在距离它一个不太远的范围内。现给定一个居民区的地图,以及若干垃圾箱的候选地点,请你推荐最合适的地点。如果解不唯一,则输出到所有居民点的平均距离最短的那个解。如果这样的解还是不唯一,则输出编号最小的地点。输入格式:输入第一行给出4个正整数:...
2019-03-27 10:30:32
515
原创 L3-004 肿瘤诊断 (30 分) bfs+连通块个数
在诊断肿瘤疾病时,计算肿瘤体积是很重要的一环。给定病灶扫描切片中标注出的疑似肿瘤区域,请你计算肿瘤的体积。输入格式:输入第一行给出4个正整数:M、N、L、T,其中M和N是每张切片的尺寸(即每张切片是一个M×N的像素矩阵。最大分辨率是1286×128);L(≤60)是切片的张数;T是一个整数阈值(若疑似肿瘤的连通体体积小于T,则该小块忽略不计)。最后给出L张切片。每张用一个由0和1组成的M×...
2019-03-27 09:23:35
726
3
原创 L3-003 社交集群 (30 分) dfs
当你在社交网络平台注册时,一般总是被要求填写你的个人兴趣爱好,以便找到具有相同兴趣爱好的潜在的朋友。一个“社交集群”是指部分兴趣爱好相同的人的集合。你需要找出所有的社交集群。输入格式:输入在第一行给出一个正整数 N(≤1000),为社交网络平台注册的所有用户的人数。于是这些人从 1 到 N 编号。随后 N 行,每行按以下格式给出一个人的兴趣爱好列表:Ki: hi[1] hi[2] … hi[...
2019-03-27 09:04:44
531
原创 L3-002 特殊堆栈 (30 分) vector水过==
堆栈是一种经典的后进先出的线性结构,相关的操作主要有“入栈”(在堆栈顶插入一个元素)和“出栈”(将栈顶元素返回并从堆栈中删除)。本题要求你实现另一个附加的操作:“取中值”——即返回所有堆栈中元素键值的中值。给定 N 个元素,如果 N 是偶数,则中值定义为第 N/2 小元;若是奇数,则为第 (N+1)/2 小元。输入格式:输入的第一行是正整数 N(≤105 )。随后 N 行,每行给出一...
2019-03-27 08:41:44
683
原创 L3-001 凑零钱 (30 分) 动态规划+vector记录路径
韩梅梅喜欢满宇宙到处逛街。现在她逛到了一家火星店里,发现这家店有个特别的规矩:你可以用任何星球的硬币付钱,但是绝不找零,当然也不能欠债。韩梅梅手边有 104 枚来自各个星球的硬币,需要请你帮她盘算一下,是否可能精确凑出要付的款额。输入格式:输入第一行给出两个正整数:N(≤104 )是硬币的总个数,M(≤102 )是韩梅梅要付的款额。第二行给出 N 枚硬币的正整数...
2019-03-27 07:44:27
955
原创 L2-003 月饼 排序
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 1...
2019-03-25 08:46:22
224
1
原创 L2-002 链表去重 排序
给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉。即对每个键值 K,只有第一个绝对值等于 K 的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定 L 为 21→-15→-15→-7→15,你需要输出去重后的链表 21→-15→-7,还有被删除的链表 -15→15。输入格式:输入在第一行给出 L 的第一个结点的地址和一个正整数 N(≤105 ,为结点...
2019-03-25 08:37:57
196
原创 L2-001 紧急救援 Dijkstra + 堆优化
作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。输入格式:输入第一行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编...
2019-03-24 20:53:20
454
原创 仿Hacknet中SSHcrack程序样式
想法当初玩这个游戏的时候觉得这个挺好玩的,今天突然想到实际上不就是随机数上更改一下字体的颜色,大概实现起来应该并不难,花了大概半个小时的时间把它实现了出来实现实现的话主要有3个部分1.随机数2.颜色调节3.窗口大小调节第一部分使用srand(time(0))和rand()第二部分和第三部分查取windows.h的api即可代码#include<bits/stdc++.h&...
2019-02-02 13:05:34
1704
6
原创 洛谷 P1001 A+B Problem 特殊解法
洛谷 P1001 A+B Problem题目描述输入两个整数a,b,输出它们的和(|a|,|b|<=10^9)。注意pascal使用integer会爆掉哦!有负数哦!c/c++的main函数必须是int类型,而且最后要return 0。这不仅对洛谷其他题目有效,而且也是noip/noi比赛的要求!好吧,同志们,我们就从这一题开始,向着大牛的路进发。任何一个伟大的思想,都有一个...
2018-09-24 22:30:15
655
原创 2018北大暑校acm算法训练课程 红与黑 dfs入门经典题
题面:总时间限制: 1000ms 内存限制: 65536kB描述有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。输入包括多个数据集合。每个数据集合的第一行是两个整数W和H,分别表示x方向和y方向瓷砖的数量。W和H都不超过20。在接下来的H行中,每行包括W个字符。每个字符表...
2018-08-08 20:30:07
505
原创 2018北大暑校acm算法训练课程 海贼王之伟大航路 状压dp
题干信息:“我是要成为海贼王的男人!”,路飞一边喊着这样的口号,一边和他的伙伴们一起踏上了伟大航路的艰险历程。路飞他们伟大航路行程的起点是罗格镇,终点是拉夫德鲁(那里藏匿着“唯一的大秘宝”——ONE PIECE)。而航程中间,则是各式各样的岛屿。因为伟大航路上的气候十分异常,所以来往任意两个岛屿之间的时间差别很大,从A岛到B岛可能需要1天,而从B岛到A岛则可能需要1年。当然,任意两个岛...
2018-08-07 08:50:45
425
原创 2018北大暑校acm算法训练课程 拯救行动 优先队列+BFS
题干信息公主被恶人抓走,被关押在牢房的某个地方。牢房用N*M (N, M <= 200)的矩阵来表示。矩阵中的每项可以代表道路(@)、墙壁(#)、和守卫(x)。 英勇的骑士(r)决定孤身一人去拯救公主(a)。我们假设拯救成功的表示是“骑士到达了公主所在的位置”。由于在通往公主所在位置的道路中可能遇到守卫,骑士一旦遇到守卫,必须杀死守卫才能继续前进。 现假设骑士可以向上、下、左、右四个...
2018-08-07 08:42:57
788
原创 2018北大暑校acm算法训练课程 What a Ridiculous Election bfs预处理
题面描述In country Light Tower, a presidential election is going on. There are two candidates, Mr. X1 andMr. X2, and both of them are not like good persons. One is called a liar and the other is called...
2018-08-07 08:28:03
323
2
原创 2018北大暑校acm算法训练课程 鸣人与佐助 三维搜索
佐助被大蛇丸诱骗走了,鸣人在多少时间内能追上他呢?已知一张地图(以二维矩阵的形式表示)以及佐助和鸣人的位置。地图上的每个位置都可以走到,只不过有些位置上有大蛇丸的手下,需要先打败大蛇丸的手下才能到这些位置。鸣人有一定数量的查克拉,每一个单位的查克拉可以打败一个大蛇丸的手下。假设鸣人可以往上下左右四个方向移动,每移动一个距离需要花费1个单位时间,打败大蛇丸的手下不需要时间。如果鸣人查克拉消耗完了,...
2018-08-06 08:53:33
459
原创 2018北大暑校acm算法训练课程 迷宫问题 BFS+记录路径
总时间限制: 1000ms 内存限制: 65536kB 描述 定义一个二维数组: int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左...
2018-07-31 10:42:14
553
原创 2018北大暑校acm算法训练课程 求排列的逆序数 树状数组/分治
总时间限制: 1000ms 内存限制: 65536kB 描述 在Internet上的搜索引擎经常需要对信息进行比较,比如可以通过某个人对一些事物的排名来估计他(或她)对各种不同信息的兴趣,从而实现个性化的服务。对于不同的排名结果可以用逆序来评价它们之间的差异。考虑1,2,…,n的排列i1,i2,…,in,如果其中存在j,k,满足 j < k 且 ij > ik, 那么就称(ij...
2018-07-30 20:11:25
310
原创 2018北大暑校acm算法训练课程 课程大作业 状压dp
总时间限制: 1000ms 内存限制: 65536kB 描述 小明是北京大学信息科学技术学院三年级本科生。他喜欢参加各式各样的校园社团。这个学期就要结束了,每个课程大作业的截止时间也快到了,可是小明还没有开始做。每一门课程都有一个课程大作业,每个课程大作业都有截止时间。如果提交时间超过截止时间X天,那么他将会被扣掉X分。对于每个大作业,小明要花费一天或者若干天来完成。他不能同时做多个大作业,只...
2018-07-29 15:20:18
1857
原创 2018北大暑校acm算法训练课程 股票买卖 dp
总时间限制: 1000ms 内存限制: 65536kB 描述 最近越来越多的人都投身股市,阿福也有点心动了。谨记着“股市有风险,入市需谨慎”,阿福决定先来研究一下简化版的股票买卖问题。假设阿福已经准确预测出了某只股票在未来 N 天的价格,他希望买卖两次,使得获得的利润最高。为了计算简单起见,利润的计算方式为卖出的价格减去买入的价格。同一天可以进行多次买卖。但是在第一次买入之后,必须要先...
2018-07-29 15:12:48
540
原创 2018北大暑校acm算法训练课程 输出前k大的数 排序sort
总时间限制: 10000ms 单个测试点时间限制: 1000ms 内存限制: 65536kB 描述 给定一个数组,统计前k大的数并且把这k个数从大到小输出。输入 第一行包含一个整数n,表示数组的大小。n < 100000。 第二行包含n个整数,表示数组的元素,整数之间以一个空格分开。每个整数的绝对值不超过100000000。 第三行包含一个整数k。k < n。 输出 ...
2018-07-29 15:04:38
296
原创 2018北大暑校acm算法训练课程 Radar Installation 贪心
总时间限制: 1000ms 内存限制: 65536kB描述 Assume the coasting is an infinite straight line. Land is in one side of coasting, sea in the other. Each small island is a point locating in the sea side. And any rad...
2018-07-29 14:59:55
455
原创 2018北大暑校acm算法训练课程 Tian Ji -- The Horse Racing 贪心
总时间限制: 5000ms 内存限制: 65536kB 描述 Here is a famous story in Chinese history. That was about 2300 years ago. General Tian Ji was a high official in the country Qi. He likes to play horse racing with t...
2018-07-29 14:47:41
436
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人