算法笔记的前十章一眨眼就过去了,每天保证至少一题,题源随意,题目思路都会写在代码思路中
水平太菜,所谓的的C,全部使用了STL
2020/3/5
PAT A1119_C
1 |
|
2020/3/6
PAT A1123_C
1 |
|
PAT A1115_C
1 |
|
PAT A1114_C
1 |
|
leetcode 206. 反转链表_C
1 |
|
leetcode 206. 反转链表_Go
1 | package main |
2020/3/7
leetcode 225. 用队列实现栈_Go
GO本身不支持stack啥的,那切片实现一下也不错,学到了一些姿势,我自己想的是用两个切边操作一下肯定是可以实现一个栈的
大家也可以画个图,画着画着就出来了
1 | type MyStack struct { |
2020/3/8
PAT A1007_C
1 |
|
PAT A1045_C
1 |
|
PAT A1040_C
1 |
|
leetcode 994. 腐烂的橘子_Go
1 | package main |
2020/3/9
今天要忙的事情好多,就做个水题吧,即将毕业的真痛苦
leetcode 1103. 分糖果||_Go
1 | func distributeCandies(candies int, num_people int) []int { |
2020/3/10
PAT A1068_C
背包问题冲冲冲
一个0,1背包就学了好久
1 |
|
2020/3/13
我太难了,这两天在准备开题,还学了不少web,尽然咕了
leetcode 1071. 字符串的最大公因子_Go
1 | package main |
2020/3/14
leetcode 121. 买卖股票的最佳时机_Go
1 | package main |
2020/3/17
codeup 21142_C(哈夫曼树)
学一手哈夫曼树,其实不怎么复杂,掌握有优先级的队列就好
1 |
|
AVL_tips
以前写过,就理一下思路
1 | node* newNode(int v); //生成一个结点 |
HeapSort_tips
记录一下重要的函数,其余按照堆排序的逻辑来不会出错的
1 | void downAdjust(int low,int high){ |
并查集_tips
1 | void init(); //初始化isRoot与father数组 |
Kruskal最小生成树(边贪心)_tips
1 | int kruskal(int n,int m){ // n是顶点数,m是边数 |
2020/3/19
ECNU_OJ_35. 零元素占比
1 |
|
ECNU_OJ_3441. 唐纳德与子串 (Easy)
不管是不是easy,反正用KMP做,学习一波,我们可以看到hard级难度是只能用kmp实现的
kmp算法
仅仅后移模式串;指针不回溯;找出公共前后缀
公共前后缀的条件为:
1、最长的前后缀
2、长度小于指针前所有字符长度
1 |
|
这代码放到hard里面是通不过的,心酸,不过知道kmp咋做就好了
2020/3/21
leetcode 169. 多数元素_Go
刷个水题热热手,最近一直在看英语和GO
1 | package main |
接下来展示一个别人的神仙做法
1 | func majorityElement(nums []int) int { |
人与人的差距怎么就这么大呢
2020/3/22
leetcode 409. 最长回文串_Go
1 | package main |
2020/3/26
leetcode 876. 链表的中间结点_Go
典型的two pointer,快慢指针
1 | package main |
2020/3/30
leetcode 62. 圆圈中最后剩下的数字_Go
1 | package main |
leetcode 300. 最长上升子序列_Go
1 | package main |
leetcode 1160. 拼写单词_Go
1 | package main |
leetcode 543. 二叉树的直径_Go
今天的前几题其实一上来都有思路,但这题让我有点迷茫,不清楚该怎么操作,让我知道昨晚这题可以休息了……
后来觉得其实就是要求左子树的深度+右子树的深度,这么想就简单很多了
1 | package main |
2020/4/1
leetcode 914. 卡牌分组_Go
1 | package main |
leetcode 1111. 有效括号的嵌套深度_Go
1 | package main |
2020/4/2
leetcode 289. 生命游戏_Go
1 | package main |
2020/4/3
leetcode 8. 字符串转换整数_Go
1 | package main |
2020/4/4
leetcode 42. 接雨水_Go
1 | package main |
2020/4/5
leetcode 460. LFU缓存_Go
真难……
1 | package main |
2020/4/6
今天的每日一题我直接放弃了,做之前简单的吧……
leetcode 1013. 将数组分成相等的三个部分_Go
1 | package main |
2020/4/7
leetcode 面试题 01.07. 旋转矩阵_Go
我自己本身没有去纠结原地算法,我觉得这一题让我进一步了解copy这个机制已经有收获了
1 | package main |
2020/4/8
leetcode 面试题13. 机器人的运动范围_Go
1 | package main |
2020/4/9
leetcode 22. 括号生成_Go
这题我是用暴力做的
但引出了切片作为函数参数这个大坑,资料:https://www.jianshu.com/p/7439e7ae3c4c
1 | package main |
本文链接: http://woaixiaoyuyu.github.io/2020/03/05/%E7%AE%97%E6%B3%95every-day/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!