01 2021 档案

摘要:牛客和leetcode有很多重复 语言时而c++ 时而go 子序列问题 最长递增子序列II 输出arr的最长递增子序列,如果多个,输出字典序最小的。 二分+dp 二分找到对应位置,maxLen记录当前位置i结尾的最长子序列值 后续找最小字典序,从后向前寻找即可。 vector<int> LIS(ve 阅读全文
posted @ 2021-01-31 11:49 海拉尔 阅读(92) 评论(0) 推荐(0)
摘要:一直没注意可以使用makedown,爱了爱了。 21 奇偶顺序 调整顺序使奇数位于偶数前(没有要求相对位置不变) 双指针 头找偶数,尾找奇数,互换,直到头尾相遇 func exchange(nums []int) []int { if len(nums)==0{ return nums } i,j: 阅读全文
posted @ 2021-01-30 18:00 海拉尔 阅读(70) 评论(0) 推荐(0)
摘要:计算最小的k个数,除了用堆,还可以用快排 每次返回left right相遇的位置,index>k 则向左搜,index<k 向右搜,直到index==k 剑指40 最小k个数(没要求顺序) golang快排 func getLeastNumbers(arr []int, k int) []int { 阅读全文
posted @ 2021-01-29 10:48 海拉尔 阅读(177) 评论(0) 推荐(0)
摘要:面试遇到翻转链表,很简单但是还是翻车了,不仅要能写,关键自己要写测试例子 package main import "fmt" //链表节点 type Node struct{ Next *Node value int } //构建 func Create(array []int)*Node{ roo 阅读全文
posted @ 2021-01-27 11:21 海拉尔 阅读(324) 评论(0) 推荐(0)
摘要:循环打印A和B各5次,可以使用两个chan控制顺序,chan或者WaitGroup控制结束 package main import ( "fmt" "sync" ) var one= make(chan int,1) var two = make(chan int,1) var group sync 阅读全文
posted @ 2021-01-25 18:23 海拉尔 阅读(373) 评论(0) 推荐(0)
摘要:有趣的打印矩阵,依照此模板进行扩展 #include<iostream> #include<stdio.h> using namespace std; #define N 1005 int dp[N][N]; int main() { //四个方向移动 int dx[]={-1,0,1,0},dy[ 阅读全文
posted @ 2021-01-13 23:05 海拉尔 阅读(79) 评论(0) 推荐(0)
摘要:先写后续,后续复杂点 func postorderTraversal(root *TreeNode) []int { res := make([]int,0) //记录访问过的节点 hash:=make(map[*TreeNode]bool) stack:=make([]*TreeNode,0) r 阅读全文
posted @ 2021-01-11 10:56 海拉尔 阅读(454) 评论(0) 推荐(0)
摘要:/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ func insertionSortList(head *ListNode) *ListNode { 阅读全文
posted @ 2021-01-07 14:29 海拉尔 阅读(140) 评论(0) 推荐(0)
摘要:/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ func detectCycle(head *ListNode) *ListNode { if he 阅读全文
posted @ 2021-01-07 13:52 海拉尔 阅读(68) 评论(0) 推荐(0)
摘要:不同的排序方式,如有错误请评论指出,我会及时更改 冒泡排序及其优化 冒泡排序 稳定排序,平均复杂O(n^2) 最优 O(n) //冒泡排序及其优化,优化后最优解可以O(n), //初始版本 func Bubble(array []int) { //次数小于长度-1,因为内层循环会+1 for i:= 阅读全文
posted @ 2021-01-06 18:45 海拉尔 阅读(239) 评论(0) 推荐(0)
摘要:package main import ( "fmt" "reflect" ) type Reflect struct { Name string `json:"name" test:"tag"` PassWord string Three int } func (m Reflect)Hello(v 阅读全文
posted @ 2021-01-05 18:27 海拉尔 阅读(1916) 评论(0) 推荐(0)
摘要:golang LRU package main type Node struct { Key,Value int //双链表 Pre,Next *Node } type LruCache struct { //现有元素数量 Size int //lru容量 Capacity int //map存储链 阅读全文
posted @ 2021-01-05 11:26 海拉尔 阅读(498) 评论(0) 推荐(0)
摘要:func main() { require:=make(chan int,5) for i:=0;i<5;i++{ require<-i } close(require) //设置定时器控制读取速率 ti:=time.Tick(time.Duration(1)*time.Second) //直接ra 阅读全文
posted @ 2021-01-05 09:59 海拉尔 阅读(1146) 评论(0) 推荐(0)
摘要:package main import ( "fmt" ) //可以在初始化时自定义 const Size =10 type Node struct { Val int Next *Node } //结构体指针数组 type Table struct { Array []*Node //value个 阅读全文
posted @ 2021-01-02 14:27 海拉尔 阅读(568) 评论(0) 推荐(0)