算法
冰菓(笑)
希望写一些有质量的东西
展开
-
python 数组旋转90度
大佬太多,一行解决,同样是九年义务教育,为什么他们这么优秀。matrix = [[row[col] for row in matrix] for col in reversed(range(len(matrix[0])))]reversed:反向访问的迭代当然,如果可以用numpy包可以使用matrix=np.rot90(matrix)当然,算法题不允许这样。完...原创 2018-10-07 16:20:35 · 5305 阅读 · 0 评论 -
牛客练习记录第二周
第一题:https://www.nowcoder.com/practice/f459f298ca814040bf601004734129a9?tpId=90&tqId=30860&tPage=5&rp=5&ru=%2Fta%2F2018test&qru=%2Fta%2F2018test%2Fquestion-ranking题目描述超链接访问输...原创 2019-05-13 17:36:30 · 459 阅读 · 0 评论 -
牛客练习记录第三周
第一题:https://www.nowcoder.com/practice/e605ba77112b425889bee3f40481fe93?tpId=90&tqId=30974&tPage=10&rp=10&ru=/ta/2018test&qru=/ta/2018test/question-ranking题目描述输入一个正整数的字符串,输出与它最接...原创 2019-05-22 20:48:51 · 334 阅读 · 0 评论 -
牛客练习记录第四周
第一题:https://www.nowcoder.com/practice/c167db5218e54ef2870aebe5b14743f2?tpId=90&tqId=30809&tPage=2&rp=2&ru=/ta/2018test&qru=/ta/2018test/question-ranking题目描述牛牛养了n只奶牛,牛牛想给每只奶牛编号,...原创 2019-06-21 19:45:15 · 1844 阅读 · 0 评论 -
二分法模板
原文:https://blog.csdn.net/CCSGTC/article/details/80586181其实这个完善的二分写法就是开头提到的左开右开写法,但是做了一些小修改。考虑一种特殊情况,如果数组中的元素都相同 ,那么查找的时候不一定每次都会返回第一个元素的位置, 用开头的3种正确代码去查找,肯定返回的是正中间元素的位置. ,因此进行了以下修改,修改后的代码,可以在...转载 2019-06-22 20:43:26 · 704 阅读 · 0 评论 -
牛客练习记录第五周
第一题:链接:https://www.nowcoder.com/questionTerminal/824af5cb05794606b56657bb3fa91f49编程题]善变的同伴热度指数:601 时间限制:1秒 空间限制:65536K 算法知识视频讲解 又到了吃午饭的时间,你和你的同伴刚刚研发出了最新的GSS-483型自动打饭机器人,现在你们正在对机器人进行功能测试。为了简化问题...原创 2019-07-11 08:59:22 · 393 阅读 · 0 评论 -
C++算法 链表专题
第一题:https://www.nowcoder.com/practice/0cff324157a24a7a8de3da7934458e34?tpId=98&tqId=32912&tPage=5&rp=5&ru=/ta/2019test&qru=/ta/2019test/question-ranking找出单向链表中的一个节点,该节点到尾指针的距离为K。...原创 2019-08-02 19:53:55 · 253 阅读 · 0 评论 -
牛客练习记录第六周
第一题:https://www.nowcoder.com/practice/c3b49a12eb344ca3939f6a6232347397?tpId=98&tqId=32914&rp=5&ru=/ta/2019test&qru=/ta/2019test/question-ranking题目描述一组带数字编号的球里除了两个编号之外,其它的编号都出现了两次。...原创 2019-08-02 19:53:53 · 305 阅读 · 0 评论 -
贝壳找房 丢失的卡片
#include<iostream>#include<algorithm>#include<string>#include<math.h>#include<stdlib.h>#include <iostream>#include <vector>#include <queue>...原创 2020-03-27 17:44:42 · 331 阅读 · 0 评论 -
关于算法的一些知识点
1.set创建字符串数组:set 不能用来计数,只能用来判断是否存在这个string。#include <set>set<string> str;#添加数值str.insert(str_new);#set 默认是从小到大排序#两个int插入用法,按照第一个数值排序。set<pair<int,int> > s;#访问第一个值...原创 2019-05-12 10:44:20 · 303 阅读 · 0 评论 -
DFS and BFS
DFS 递归#include<iostream>#include<algorithm>#include<string>#include<math.h>#include<stdlib.h>using namespace std;#define N 5int mat[N][N] = { { 0, 1, 1, 0, ...原创 2019-03-27 21:15:02 · 142 阅读 · 0 评论 -
3个背包:0-1背包 完全背包 多重背包
参考:https://www.cnblogs.com/A-S-KirigiriKyoko/p/6036368.html0-1背包#include<iostream>#include<algorithm>#include<string>#include<math.h>#include<stdlib.h>#include ...原创 2019-03-28 15:55:55 · 236 阅读 · 0 评论 -
C++排序汇总
1.顺序排序#include <iostream>#include <algorithm> using namespace std;int main(){ int a[] = {5,3,7,3,9,4}; sort(a,a+6); for(int i = 0;i < 6;i ++){ cout<<a[i...原创 2019-04-06 16:05:58 · 312 阅读 · 0 评论 -
连续扑克牌
#include<iostream>#include<algorithm>#include<string>#include<math.h>#include<stdlib.h>#include <iostream>#include <vector>#include <...原创 2019-04-08 14:32:00 · 290 阅读 · 0 评论 -
平均n瓶化学试剂
#include<iostream>#include<algorithm>#include<string>#include<math.h>#include<stdlib.h>#include <iostream>#include <vector>#include <qu...原创 2019-04-10 09:24:32 · 235 阅读 · 0 评论 -
C++ 不定数量输入 和输入空格
for(i=0;;i++){ scanf("%d",&a[i]); length ++; if(getchar()=='\n') break;}包含空格的字符串输入char a[100000];for(int i=0;i<n;i++){ char tmp; cin>>tmp; cin>>...原创 2019-04-16 19:33:03 · 1018 阅读 · 0 评论 -
两个最短路径:Dijkstra和Floyd
Dijkstra原理:https://blog.csdn.net/lbperfect123/article/details/84281300上面博客在原理上已经解释的很清楚了,我这边简单简述下:首先,建立dis数组用于存储起始点到各点的距离,初始化为起始点与其他节点的直接连接。其次,判断dis中最短距离,这个最短距离是去除已经判断过最小节点的点。然后以这个点与其他节点的直接距离,如...原创 2019-04-22 20:08:36 · 497 阅读 · 0 评论 -
360笔试题:整理彩球
每一个篮子最少放两个球,每个篮子只能放一种颜色的球。求最少使用的篮子数。我想到的是暴力的方式。既然他是最少放两个球,那么他每个篮子最多放的是n/2个球,使用两个篮子。这样篮子数递增的便利,再判断每种颜色的球是否能整除n/i个球,指导满足条件的n/i出现,跳出循环。#include<iostream>#include<algorithm>#include...原创 2019-04-25 09:57:08 · 386 阅读 · 0 评论 -
牛客练习记录
题目描述给定一个数组序列,需要求选出一个区间,使得该区间是所有区间中经过如下计算的值最大的一个:区间中的最小数*区间所有数的和最后程序输出经过计算后的最大值即可,不需要输出具体的区间。如给定序列[6 2 1]则根据上述公式,可得到所有可以选定各个区间的计算值:[6] = 6 * 6 = 36;[2] = 2 * 2 = 4;[1] = 1 * 1 = 1;[6,2] ...原创 2019-05-09 15:23:31 · 340 阅读 · 0 评论 -
十大排序
终于也要打个基础了,准备笔试面试。十大排序原理:https://www.cnblogs.com/onepixel/articles/7674659.html1.冒泡排序#include<iostream>#include<algorithm>#include<string>#include<math.h>#include &...原创 2019-03-26 20:49:47 · 148 阅读 · 0 评论 -
n个数字的全排列 去重
用set容器去重。#include<iostream>#include<algorithm>#include<string>#include<math.h>#include<stdlib.h>#include <iostream>#include <vector>#include <...原创 2019-08-11 09:37:08 · 529 阅读 · 0 评论