摘要: 一、固定长度数组 1.定义长度固定的数组,如:var arr [10] int;获取数组的长度,使用len函数,即len(arr)。 2.定义长度固定的数组,且初始化,如:arr := [10] int {1,2,3,4}。 3.使用for循环遍历数组,如:for i := 1; i < len(a 阅读全文
posted @ 2022-05-03 20:27 夜满星河 阅读(122) 评论(0) 推荐(0)
摘要: 一、先序遍历 顺序为:根节点、左节点、右节点。使用栈来完成递归过程,注意先放右子节点,再放左子节点。 public List<Integer> preOrder(TreeNode root){ List<Integer> ans = new ArrayList<>(); if(root == nul 阅读全文
posted @ 2022-05-01 09:18 夜满星河 阅读(42) 评论(0) 推荐(0)
摘要: 快慢指针的原理类似于时钟里的分针时针,在链表中,二者同时从head首节点出发,快指针一次走两步,慢指针一次走一步,当快指针走到终点时,慢指针所在位置即为链表的中点。 代码: class ListNode{ int val; ListNode next;}ListNode getMidNode(Lis 阅读全文
posted @ 2022-04-30 13:18 夜满星河 阅读(332) 评论(0) 推荐(0)
摘要: 一、快速排序 1.快速排序是利用递归思想的一个分治排序算法,时间复杂度为O(n * logn)。对数组nums[l......r]进行快速排序的方法如下: (1)确认基准点。一般为nums[l]或nums[r],确定左右端点后,从其相反方向寻找不满足条件的数字。 (2)如为升序排列,比基准点小的数字 阅读全文
posted @ 2022-04-30 12:00 夜满星河 阅读(522) 评论(0) 推荐(0)
摘要: 一、函数的写法 1.基本写法: 类似:func 函数名 (a 数据类型, b 数据类型) 返回值类型{ //....... return c } 2.多返回值,匿名:多返回值时,函数定义处多返回值类型应使用()包含。 类似:func 函数名 (a 数据类型, b 数据类型) (返回值类型, 返回值类 阅读全文
posted @ 2022-04-29 18:35 夜满星河 阅读(243) 评论(0) 推荐(0)
摘要: 一、局部变量的声明(4种方法) 1.声明一个变量,但不初始化值,使用默认值:var a int。 2.声明一个变量,初始化值:var a int = 100。 3.声明一个变量,初始化时省去类型,通过值自动匹配当前变量的数据类型:var a = 100。 4.(常用)声明一个变量,省去var关键字, 阅读全文
posted @ 2022-04-28 22:39 夜满星河 阅读(53) 评论(0) 推荐(0)
摘要: 一、Golang的优势 1.部署简单: (1)可直接编译成机器码。 (2)不依赖其他库,最终生成的可执行程序是静态的可执行文件。 (3)直接运行,即可部署。 2.静态类型语言,相比于动态语言(没有编译器,执行过程中逐条检测)在编译时可检测出许多问题。 3.语言层面的并发:天然支持并发,可充分利用多核 阅读全文
posted @ 2022-04-28 16:23 夜满星河 阅读(240) 评论(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 夜满星河 阅读(1443) 评论(0) 推荐(0)
摘要: 朴素的字符串匹配算法的时间复杂度为O(m*n),m、n分别为主串、模式串的长度。容易理解的是,主串和模式串的指针同步进行,当遇到不匹配的字符时,主串指针将移动到当前指针下一位,因此最坏情况下m个字符都要匹配n次。而KMP算法能在O(m + n)的时间复杂度内完成查找,原理不再介绍,下面介绍实现过程。 阅读全文
posted @ 2022-04-26 16:50 夜满星河 阅读(114) 评论(0) 推荐(0)