me滚去学习
me滚去学习
全部文章
数据结构
C++(1)
Golang(7)
pytorch(1)
机器学习(3)
算法(9)
归档
标签
去牛客网
登录
/
注册
不放弃一点机会,不停止一日努力。
我命由我不由天,你有多想改变你现在的生活。
全部文章
/ 数据结构
(共7篇)
贪心算法
区间问题 区间选点 给定N个闭区间[ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量。 位于区间端点上的点也算作区间内。 输入格式第一行包含整数N,表示区间数。 接下来N行,每行包含两个整数ai,bi,表示一个区间的两个端点。 输出格式输出一个整...
2020-11-15
1
738
第五章 动态规划
当属性是最大值或者最小值的时候,划分子问题可以有重复的部分,但是如果求元素的数量,那么划分子问题不能有重复的部分 常用模型:背包 优化的时候,如果用上一层体积,就从大到小枚举,如果用本层体积,就从小到大枚举 01背包 --每件物品最多只用一次 const N int = 1010 func kn...
2020-11-07
0
448
第四章、数学知识
质数 定义:在大于1的整数中,如果只包含1和其本身这两个约数,则称这个数为质数或者素数 (1)质数的判定--试除法 时间复杂度:O(sqrt(n)) bool is_prime(int x) { if (x < 2) return false; for (int i = 2; ...
2020-11-02
0
579
第三章:搜索与图论
DFS与BFS 两者的对比:(h是树的高度)DFS:使用的是栈,空间O(h),不具有最短性BFS:使用的是队列,空间O(2^h),最短路--涉及最短路径,最小距离等概念的就使用BFS算法 1.DFS-深度优先搜索 全排列问题 func permute(nums []int) [][]in...
2020-10-25
0
523
基础算法
排序 快速排序 快排是不稳定的快速排序采用的是分治的思想: 第二步进行区间的调整,最简单的做法是采取暴力的形式: 第二种做法: 第三种做法--优秀做法分界点为x,i从左边查起,j从右边查起;i++,当i遇到一个大于等于x的值,停下;j--,当j遇到一个小于等于x的值,j停下,然后swap(q[...
2020-10-14
1
553
数据结构(二)
1.Trie树-字典树 用来高效的存储和查找字符串集合的数据结构 const N int = 100010 //下标是0的节点,既是根节点,又是空节点 var son [N][26]int //串中每个节点的所有儿子,son[n][i]指的是节点n的儿子i,用来存储其在树中的下标,每个节点最多连2...
2020-09-21
0
453
数据结构(一)
1.链表与邻接表 一般笔试的时候不会采用动态链表的情况。 用数组模拟单链表:静态链表 面试题中单链表用的最多的是邻接表,其最主要的应用是存储图和树e[i]用来存储节点i的值,ne[i]表示节点i的next指针是多少 模拟链表的基本操作 用数组模拟双链表 双链表用的最多的是优化某些问题 e[i]用...
2020-09-16
0
457