- 博客(77)
- 收藏
- 关注
原创 【leetcode454】四数相加--go语言实现
题目描述:给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:0 <= i, j, k, l < nnums1[i] + nums2[j] + nums3[k] + nums4[l] == 0示例 1:输入:nums1 = [1,2], nums2 = [-2,-1], nums3 = [-1,2], nums4 = [0,2]输出:2解释: 两个元组如下:(0, 0, 0, 1)
2022-05-31 17:02:38 179
原创 Go语言中rune方法如何使用
Go语言中rune方法如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.byte类型byte类型是uint8的别名,表示一个字节,2.rune类型rune类型是Go语言中的一个基本类型,其实就是一个uint32的别名,主要用于表示一个字符类型大于一个字节小于等于4个字节的情况下,特别是中文字符。例子:代码:import "fmt"func main(){ var str string="hello
2022-05-31 14:25:37 6933 2
原创 【以太坊开发-01】必备环境
以太坊网络有很多个,主网只有一个,还有很多测试网络,我们也可以自己搭建私链如何和以太坊交互:浏览器钱包:metamaskEthereum Wallet钱包(官方出的以太坊钱包)新版本叫做mistweb3.js(js的一个库)交互图示:Web3初⻅:web3是官⽅出的,链接以太坊⽹络的node.js库DAPP都通过web3.js库与以太坊⽹络进⾏交互(MetaMask 和Mist就是DAPP)智能合约开发solidity(类似JavaScript)remix部署测试get
2022-05-30 16:22:46 288
原创 【Leetcode19】 删除链表的倒数第 N 个结点--go语言实现
题目描述:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5]示例 2:输入:head = [1], n = 1 输出:[]示例 3:输入:head = [1,2], n = 1 输出:[1]提示:链表中结点的数目为 sz1 <= sz <= 300 <= Node.val <= 1001 <= n <= sz思路分析:因为不是双向链
2022-05-28 20:54:37 153 1
原创 【Leetcode24】两两交换链表中的节点--go语言实现
题目描述:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。示例 1:输入:head = [1,2,3,4] 输出:[2,1,4,3]示例 2:输入:head = [] 输出:[]示例 3:输入:head = [1] 输出:[1]思路分析:我这里没有设置虚拟节点,直接在原链表上进行模拟。使用三个指针pre、cur、temp,pre.next=cur,cur.next=temp,每次模拟只需要判断te
2022-05-28 10:16:05 161
原创 【Gomodules模式下连接MySQL以及基本操作】
MySQL的连接因为Go语言没有提供任何官方数据库驱动,所以需要安装第三方函数库。go get github.com/go-sql-driver/mysql这一命令会从代码中获取驱动的具体代码,并将这些代码放置到包库中,当需要用到驱动的时候,编译器会把驱动代码与用户编写的代码一同编译。具体代码如下:package mainimport ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql")func main(){ d
2022-05-27 13:38:29 260
原创 第一讲:MySQL基本操作
一、MySQL的安装安装参考其他博客,如果安装之后出现错误可以参考博客https://blog.csdn.net/qq_46416934/article/details/124336435二、启动/关闭MySQL服务第一种方式:通过管理启动MySQL服务。方法:右键我的电脑,管理,服务,找到mysql,手动开启。第二种方式:通过命令行方法:通过管理员方式运行cmd通过输入net start mysql启动MySQL服务通过输入net stop mysql关闭MySQL服务三、连接M
2022-05-26 20:37:48 265 4
原创 Tendermint共识算法的个人见解
一个块的最终提交(Commit)可能需要多个Round过程,这是因为有许多原因可能会导致当前Round不成功(比如出块节点Offline,提出的块是无效块,收到的Prevote或者Precommit票数不够 +2/3 等等),出现这些情况的话,解决方案就是移步到下一轮,或者增加 timeout 时间)当2/3多数验证器签名并广播对该块的提交时,称该块由网络提交。如果没有收集到+2/3precommit投票会进入再次进入propose阶段。在precommit开始阶段,每个Validator会判断,如果
2022-05-24 14:09:44 815 1
原创 【leetcode289】生命游戏--go实现
题目描述:根据 百度百科 , 生命游戏 ,简称为 生命 ,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态: 1 即为 活细胞 (live),或 0即为 死细胞 (dead)。每个细胞与其八个相邻位置(水平,垂直,对角线)的细胞都遵循以下四条生存定律:如果活细胞周围八个位置的活细胞数少于两个,则该位置活细胞死亡;如果活细胞周围八个位置有两个或三个活细胞,则该位置活细胞仍然存活;如果活细
2022-05-22 20:25:22 381 1
原创 【leetcode54】螺旋矩阵
题目描述力扣54.螺旋矩阵难度:中等 .给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]代码:package mainfunc spira
2022-05-22 20:06:42 160
原创 【Golang高阶】goroutine、channel、select
协程goroutinegoroutine的基本模型单进程时代的两个问题?1、单一执行流程、计算机只能一个任务一个任务处理2、进程阻塞所带来的的CPU浪费时间多进程/多线程解决了阻塞问题,那么它是如何工作的,如下图:但是多进程/多线程同时也面临着新的问题:需要大量的切换成本:进程/线程的数量越多,切换成本也越大,也就越浪费。CPU可能60%在执行程序,40%在切换进程中,所以提高CPU的利用率是一个问题。那我们如何去处理这个问题,首先看下在操作系统中一个线程的结构是怎么样的,如下图:
2022-05-22 15:21:45 483
原创 【彻底读懂go语言指针--初学者】
思考:为什么会出现指针,如果没有指针我们的程序又会出现什么样的问题? 首先阅读这段代码,思考一下程序中a的值能不能成功被改变,即最终输出是什么?package mainimport "fmt"func main(){ var a int =1 changeValue(a) fmt.Println(a)}func changeValue(p int){ p=10}分析接下来对以上代码进行分析,当我们去定义变量a的时候,其实就是在我们的内存池去开辟一个空间去存放a=1,类型in.
2022-05-21 20:15:11 156
原创 Linux的默认配置文件位置
如果我们想配置go语言的环境变量,但是不知道配置文件的存储。linux默认的配置文件直接存放在home目录下,可以先回到主目录,执行以下语句cd ~然后执行ls -al可以发现当前目录下的隐藏文件有 .bashrc,这就是你的默认配置文件,可以在里面配置go的bin目录提供全局访问,类似于windows下的系统变量。最后执行vim ~/.bashrc即可打开配置文件进行修改。最后附上一张Linux的目录大致结构,可以参考...
2022-05-21 15:25:42 3449
原创 【leetcode31】下一个排列
题目描述力扣31.下一个排列 难度:中等 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的下一个排列就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(
2022-05-20 12:17:50 104
原创 PBFT共识算法的个人见解
前置知识CFT与BFT的区别CFT:节点出现故障( crash 或 fail-stop),即不响应但不会伪造信息的情况称为“非拜占庭错误”( non-byzantine fault)或“故障错误”( CrashFault),处理非拜占庭错误的算法有:paxos、raft和其变种;BFT:节点伪造信息恶意响应的情况称为“拜占庭错误”( Byzantine Fault),对应节点为拜占庭节点。处理拜占庭错误算法有:pbft、hotstuff算法;同步、异步、部分同步概念异步(asynchron
2022-05-19 22:03:09 2090
原创 【pat B1024】科学计算法
***题目:科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留。输入格式:每个输入包含 1 个测试用例,即一个以...
2020-04-14 12:40:37 298
原创 【patA1046】shortest distance
题目:The task is really simple: given N exits on a highway which forms a simple cycle, you are supposed to tell the shortest distance between any pair of exits.Input Specification:Each input file con...
2020-04-07 19:36:13 105
原创 [acm1203]
问题:Problem DescriptionSpeakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了。要申请国外的任何大学,你都要交纳一定的申请费用,这可是很惊人的。Speakless没有多少钱,总共只攒了n万美元。他将在m个学校中选择若干的(当然要在他的经济承受范围内)。每个学校都有不同的申请费用a(万美元),并且Speakless估计...
2020-02-04 20:40:08 191
原创 【acm1087】
**问题:Problem DescriptionGive you a lot of positive integers, just to find out how many prime numbers there are.InputThere are a lot of cases. In each case, there is an integer N representing the n...
2020-02-02 14:27:03 136
原创 【acm1108】
**问题: 还记得汉诺塔III吗?他的规则是这样的:不允许直接从最左(右)边移到最右(左)边(每次移动一定是移到中间杆或从中间移出),也不允许大盘放到小盘的上面。xhd在想如果我们允许最大的盘子放到最上面会怎么样呢?(只允许最大的放在最上面)当然最后需要的结果是盘子从小到大排在最右边。 Input 输入数据的第一行是一个数据T,表示有T组数据。 每组数据有一个正整数n(1 <= n <...
2020-02-01 21:14:32 160
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人