算法题
刷算法题的一些记录~
Piggytuotuo
这个作者很懒,什么都没留下…
展开
-
Leetcode:回溯
使用回溯法解决子集、排列问题原创 2023-04-12 14:22:43 · 110 阅读 · 0 评论 -
Java刷题的常用代码
java刷leetcode、java打蓝桥杯的积累原创 2023-04-12 13:16:21 · 326 阅读 · 0 评论 -
leetcode35. 搜索插入位置
leetcode原创 2022-08-24 00:46:00 · 136 阅读 · 0 评论 -
哈希表
1.哈希表的定义散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数...原创 2018-07-23 22:22:59 · 142 阅读 · 0 评论 -
C和C++输入结束
C知识:EOF为文件结束标志,当SCANF函数未能正确输入并且输入ctrl+z时返回-1即EOF的值; 其他情况下 scanf返回输入正确的个数;测试代码如下:#include<stdio.h> int sum(in...原创 2020-06-07 09:59:26 · 363 阅读 · 0 评论 -
3.11笔试记录
3. 流星观测,给一个开始时间的数组,一个结束时间的数组,问最多可以同时观测到多少个流行,以及几个时刻可以观测到。2. 金币游戏,每个格子可以获得一定数量的金币,相邻格子颜色不同移动时需要额外支付。1. 字符串最少修改多少次不连续, 遍历比较当前和前一个,a了。最优规划问题,动规过了45%。应该是忽略了初始金币为0的问题。坦克大战问题因该是模拟。大佬题解给的是差分数组+离散化。同门说是前缀和问题?原创 2023-03-12 12:16:47 · 32 阅读 · 0 评论 -
建堆求中位数
具体思路:用一个最大堆存放比中位数小(或等于)的元素,用一个最小堆存放比中位数大(或等于)的元素。这里关键的方法是insert(),每当要插入一个元素时,根据判断条件将它插入最大堆或是最小堆,并更新最大堆和最小堆,使得最大堆和最小堆中元素的个数之差不超过1,这样中位数就是最大堆或最小堆的堆顶元素。当最大堆和最小堆中元素个数不同(个数...转载 2019-03-19 00:31:59 · 135 阅读 · 0 评论 -
第k小元素问题
以下是我能想到的三种方法,若有不足和优化欢迎指出:#include<iostream>#define N 10using namespace std;//直接排序法:从小到大排序后下标为k的即为第k小元素(下标从1算起)int fun1(int a[], int n,int k){ for (int i = 1; i < n; i++) { for (i...原创 2018-09-14 14:21:48 · 738 阅读 · 0 评论 -
csu--组合数末尾的零
这个题!!有诈啊!!以下内容涉及剧透,慎点!!枉我辛辛苦苦自己写了求阶乘的函数(微笑脸)(虽然也没有很难大佬莫笑)枉我辛辛苦苦动态创建数组把整数转换为二进制数并保存在数组里(微笑脸)测试小的数字都没有问题(正得意)然而!!当我用了1000 500 这组数我?????????怎么回事????????当我用阶乘计算器看了500!1000!时,哦呵呵!!!所以说此题有...原创 2018-09-13 15:29:38 · 165 阅读 · 0 评论 -
经典算法简记
1.穷举搜索法对候选解进行逐一枚举和检验。所需时间长。2.迭代算法通过一初始估计值来找一系列近似解的过程。多用于求方程或方程组的解。3.递推算法能从规模n=0推出n=i-1的解进而推出目标的规模为n的解。4.递归算法直接或间接的调用自身。要有递归出口。要防止堆栈溢出。5.分治算法把复杂问题分解成两个或更多相似的子问题。6.贪心算法把求解的问题分为若干个子...原创 2018-07-24 11:51:30 · 93 阅读 · 0 评论