04 2022 档案

摘要:快慢指针的原理类似于时钟里的分针时针,在链表中,二者同时从head首节点出发,快指针一次走两步,慢指针一次走一步,当快指针走到终点时,慢指针所在位置即为链表的中点。 代码: class ListNode{ int val; ListNode next;}ListNode getMidNode(Lis 阅读全文
posted @ 2022-04-30 13:18 夜满星河 阅读(292) 评论(0) 推荐(0) 编辑
摘要:一、快速排序 1.快速排序是利用递归思想的一个分治排序算法,时间复杂度为O(n * logn)。对数组nums[l......r]进行快速排序的方法如下: (1)确认基准点。一般为nums[l]或nums[r],确定左右端点后,从其相反方向寻找不满足条件的数字。 (2)如为升序排列,比基准点小的数字 阅读全文
posted @ 2022-04-30 12:00 夜满星河 阅读(493) 评论(0) 推荐(0) 编辑
摘要:一、函数的写法 1.基本写法: 类似:func 函数名 (a 数据类型, b 数据类型) 返回值类型{ //....... return c } 2.多返回值,匿名:多返回值时,函数定义处多返回值类型应使用()包含。 类似:func 函数名 (a 数据类型, b 数据类型) (返回值类型, 返回值类 阅读全文
posted @ 2022-04-29 18:35 夜满星河 阅读(230) 评论(0) 推荐(0) 编辑
摘要:一、局部变量的声明(4种方法) 1.声明一个变量,但不初始化值,使用默认值:var a int。 2.声明一个变量,初始化值:var a int = 100。 3.声明一个变量,初始化时省去类型,通过值自动匹配当前变量的数据类型:var a = 100。 4.(常用)声明一个变量,省去var关键字, 阅读全文
posted @ 2022-04-28 22:39 夜满星河 阅读(48) 评论(0) 推荐(0) 编辑
摘要:一、Golang的优势 1.部署简单: (1)可直接编译成机器码。 (2)不依赖其他库,最终生成的可执行程序是静态的可执行文件。 (3)直接运行,即可部署。 2.静态类型语言,相比于动态语言(没有编译器,执行过程中逐条检测)在编译时可检测出许多问题。 3.语言层面的并发:天然支持并发,可充分利用多核 阅读全文
posted @ 2022-04-28 16:23 夜满星河 阅读(230) 评论(0) 推荐(0) 编辑
摘要:一、下载Golang源码包 1.Go官网下载地址为 https://golang.org/dl/,因难以下载,推荐去Go官方镜像站下载:https://google.golang.cn/dl/。 2.选择点击下载go1.18.1.windows-amd64.msi。 二、安装 1.选择next,更改 阅读全文
posted @ 2022-04-26 22:30 夜满星河 阅读(1280) 评论(0) 推荐(0) 编辑
摘要:朴素的字符串匹配算法的时间复杂度为O(m*n),m、n分别为主串、模式串的长度。容易理解的是,主串和模式串的指针同步进行,当遇到不匹配的字符时,主串指针将移动到当前指针下一位,因此最坏情况下m个字符都要匹配n次。而KMP算法能在O(m + n)的时间复杂度内完成查找,原理不再介绍,下面介绍实现过程。 阅读全文
posted @ 2022-04-26 16:50 夜满星河 阅读(109) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
🚀
回顶
收起