- 博客(46)
- 资源 (3)
- 收藏
- 关注
原创 未知数据规模的保存方法
#include "iostream"#include "vector"using namespace std;int main(){ int m, t; vector<int> v; cin >> m; for (int i = 0; i < m; i++) { while (1) { scanf("%d", &t); v.push_bac
2021-04-04 21:09:04
244
原创 mac下载brew自动脚本
这里写自定义目录标题mac终端输入mac终端输入/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
2021-03-31 17:22:37
270
原创 粒子群(PSO)求方程最优解
PSOPSO类似于雷达扫描,每一个粒子就像觅食的狗一样,闻到了100米范围内有食物,但是却并不知道食物具体在那里。这个时候就需要找一群狗来共同寻找食物,这个群体的数量就是粒子群的粒子个数。扩大这个范围,当食物在天上时,狗的二维探测能力就无法满足,这时粒子就变成鸟,仍然在给定的范围内寻找食物。一般来说,粒子数量越大越容易找到食物(相对最优解),但是过大的粒子个数会消耗巨大的资源,我们需要根据具体问题,分析得到最优种群个数。解方程本文用解方程最优解的形式来展示粒子群收缩求最优解的过程解一个大家都认识
2020-10-24 17:43:56
3365
原创 剑指offer刷题——leetcode中等+
题目一:链表class Solution {public: ListNode *addTwoNumbers(ListNode *l1, ListNode *l2) { int carry = 0; ListNode *root = new ListNode(0), *n = root; while (l1 != NULL || l2 != NULL || carry) { int v1 = 0, v2 = 0;
2020-07-28 09:30:29
209
原创 2020智算之道第二次第一题
小明正在上楼梯,当小明逐渐接近某层楼的时候,这层楼的声控灯检测到小明的脚步声便会亮起来,当小明逐渐远去的时候,声控灯由于一段时间内没检测到声音又会灭下去。由于小明是匀速上楼的,而且他的速度把控得刚刚好,脚步声的音量也十分恰当,使得灯的亮灭呈现出这样的状态:他当前所在的楼层的声控灯是亮起的,他即将抵达的下一层楼的声控灯是亮起的,他刚刚离开的那层楼的声控灯也是亮起的。现在你站在楼的外面,通过窗户看到了灯的亮灭状态,请推断小明现在在几楼?输入格式每个测试点包含以下内容:第一行给出一个整数 TTT,表示接
2020-07-19 20:39:57
494
原创 虚析构和纯虚析构(C++)
解决父类无法释放子类的堆区内存问题。注意:纯虚析构无法实例化虚析构和纯虚析构多态使用时,如果子类有对象开辟到堆区,那么父类指针在释放时无法调用到子类的析构代码解决方式:将父类中的析构函数改为虚析构或者纯虚析构虚析构和纯虚析构的共性:可以解决父类指针释放子类对象都需要有具体的函数实现虚析构和纯虚析构的区别:如果是纯虚析构,该类属于抽象类,无法实例化对象#include<stdio.h>#include <iostream>#include<stri
2020-07-19 17:01:51
227
原创 剑指offer刷题——字节跳动
字节的题就是个憨憨!!!纯粹是在考阅读理解,语法和知识点都相对基础,但是题目真的不知所云,难度总体不如鹅厂。第一题我叫王大锤,是一名特工。我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺。和我一起行动的还有另外两名特工,我提议1.我们在字节跳动大街的N个建筑中选定3个埋伏地点。2.为了相互照应,我们决定相距最远的两名特工间的距离不超过D。我特喵是个天才! 经过精密的计算,我们从X种可行的埋伏方案中选择了一种。这个方案万无一失,颤抖吧,孔连顺!……万万没想到,计划还是失败了,孔连顺
2020-07-03 22:22:01
446
原创 剑指offer刷题——股票最大利润(C++)
题目贪心法从左到右更新最大利润class Solution {public: int maxProfit(vector<int>& prices) { if(prices.empty())return 0; int maxv = 0; for(int i = 1,minv = prices[0];i<prices.size();i++) { maxv = max(maxv,pric
2020-06-16 22:04:48
306
原创 剑指offer刷题——反转二叉树(C++)
牛客网二叉树镜像递归实现当然这样时间复杂度会高一些,也可以用swap()直接交换,不过只要理解了交换的步骤,怎么优化也就不是问题了。class Solution {public: void Mirror(TreeNode *pRoot) { if(pRoot) { TreeNode* p=pRoot->left; TreeNode* q=pRoot->right; p
2020-06-16 21:39:13
275
原创 2020“中青杯”
自1990年12月19日上海证券交易所挂牌成立,经过30年的快速发展,中国证券市场已经具有相当规模,在多方面取得了举世瞩目的成就,对国民经济的资源配置起着日益重要的作用。截至2019年年底,上海和深圳两个证券交易所交易的股票约4000种。目前,市场交易制度、信息披露制度和证券法规等配套制度体系已经建立起来,投资者日趋理性和成熟,机构投资者迅速发展已具规模,政府对证券市场交易和上市公司主体行为的监管已见成效。随着近年来我国资本市场的发展和证券交易规模的不断扩大,越来越多的资金投资于证券市场,与此同时市场价格
2020-05-29 09:43:57
3485
3
原创 C语言链表——电视机管理系统
#include "stdio.h"#include "stdlib.h" //malloc#include "string.h"typedef struct { char no[4]; //4位编号 char name[20]; //品牌 int peace; //价格}TV;//链表结点的定义:typedef struct LNode { TV data; //数据域 struct LNode* next; //指针域}LNode, *
2020-05-16 11:08:32
664
1
原创 C++线程池详解
今天上午试了一下阿里的面试题目,有关于线程的问题总结一下什么是线程池?它干了什么?1、解决任务处理2、解决阻塞I/O3、解决线程创建和销毁的成本问题4、管理线程如储存日志到磁盘中(磁盘速度要慢很多)log("xx-xx-xx%s\n");//zhi...
2020-05-08 23:27:53
2122
5
原创 TCP服务端发送数据(C++)
本文记录C++实现TCP协议的服务端部分,注意文中的阻塞态会长期存在,知道客户端响应为止。#include "pch.h"#include <iostream> #include <winsock2.h> #pragma comment(lib,"ws2_32.lib") using namespace std; int main(int argc...
2020-05-04 23:08:28
1718
原创 蓝桥杯模拟赛c++实现村子规划费用问题
最小生成树问题先来了解一下最小生成树在一给定的无向图G = (V, E) 中,(u, v) 代表连接顶点 u 与顶点 v 的边(即),而 w(u, v) 代表此边的权重,若存在 T 为 E 的子集(即)且为无循环图,使得的 w(T) 最小,则此 T 为 G 的最小生成树。其实就是来计算最小权的算法,本文用prim算法实现for (i = 2; i <= n; i++) { ...
2020-04-26 20:38:09
424
原创 C++ 使用dos的例子
#include<stdio.h> #include<string.h> #include<stdlib.h> void main() { char cmd[20]="shutdown -s -t "; char t[5]="0"; int c; system...
2020-04-26 20:28:27
441
原创 STL标准库(二)
补充关于库函数的操作Iterator(迭代器)模式又称Cursor(游标)模式,用于提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。或者这样说可能更容易理解:Iterator模式是运用于聚合对象的一种模式,通过运用该模式,使得我们可以在不知道对象内部表示的情况下,按照一定顺序(由iterator提供的方法)访问聚合对象中的各个元素。对前一篇文章的迭代器作一个补充...
2020-04-13 20:53:09
282
1
原创 STL标准库(一)
目录1.containers容器2.iterators迭代器3.allocator空间配置器4.adapters配接器5.algorithms算法6.functors仿函数致敬开发者Alexander Stepanov、Meng Lee和David R Mussercontainers算法重要,但是算法是建立在对数据操作的基础上,如何存放数据显得尤为重要。在STL开发者大牛的...
2020-04-10 19:59:40
622
3
原创 C语言10进制转换为任意进制
#include<stdio.h>#include<string.h>#include<stdlib.h> void Numchange(int A, int B)//转换,超过10的换成字符串输出 { int x=0; if (A) { Numchange(A / B, B); //递归调用短除 ,算出进制 x = A ...
2020-04-08 16:16:54
1905
原创 c++关于ctime那些事儿
库函数C++的标准库没用给具体时间日期的函数,而是用了c中的时间日期的函数,比如说之前提到的那个C++随机点名软件,就用到了ctime中的随机数种子。#include <iostream>#include <ctime> using namespace std; int main( ){ // 这个是随电脑的时间 time_t now = ...
2020-04-08 12:35:37
707
原创 next数组怎么求
next数组的求解方法是:第一位的next值为0,第二位的next值为1,后面求解每一位的next值时,根据前一位进行比较。首先将前一位与其next值对应的内容进行比较,如果相等,则该位的next值就是前一位的next值加上1;如果不等,向前继续寻找next值对应的内容来与前一位进行比较,直到找到某个位上内容的next值对应的内容与前一位相等为止,则这个位对应的值加上1即为需求的next值;如果...
2020-04-05 20:16:17
4216
2
原创 C++飞机大战代码(供研究参考)
自认为代码的可读性还是比较高的,大家有不懂的地方可以查一下#include<iostream>#include<windows.h>#include<conio.h>#include<time.h>#include<string>using namespace std;/*=============== all the s...
2020-04-03 09:12:31
3562
5
原创 C++多线程入门
多线程多线程好比多个车道,作用是来处理一波车流量,让所有车辆同时通行,在程序中则是对对个任务同时并行处理。怎么实现?线程的创建主要依赖于头文件pthread.hex我们知道要有良好的语言习惯,内存不用之后,一定要释放,线程也是如此。在create它之后,一定要make it exited!!!在线程结束时也要保证所有线程全部结束后再退出!编程也是一门艺术,我们学会它之后,也...
2020-04-01 20:27:44
356
1
原创 java接口(全网最简单)
java接口接口,在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须...
2020-03-31 23:50:52
482
原创 Java栈的实现
栈栈是一种操作受限的线性表只允许从一端插入和删除数据。栈有两种存储方式,即线性存储和链接存储(链表)。栈的一个最重要的特征就是栈的插入和删除只能在栈顶进行,所以每次删除的元素都是最后进栈的元素,故栈也被称为后进先出(LIFO)表。每个栈都有一个栈顶指针,它初始值为-1,且总是指向最后一个入栈的元素,栈有两种处理方式,即进栈(push)和出栈(pop),因为在进栈只需要移动一个变量存储空间,所以...
2020-03-25 17:17:59
251
4
原创 c++数据抽象
什么叫数据抽象?比如说一架飞机,我们知道它会飞,但是怎么飞、飞行原理我们并不清楚。因此,我们可以说飞机把它的内部实现和外部接口分离开了,我们无需知道它的内部实现原理,直接通过它的外部接口(机票)就可以登机起飞。就 C++ 编程而言,C++ 类为数据抽象提供了可能。它们向外界提供了大量用于操作对象数据的公共方法,也就是说,外界实际上并不清楚类的内部实现。例如,您的程序可以调用abs() 函...
2020-03-24 09:52:03
505
1
原创 JAVA面向对象基础入门笔记(对比C++)
JAVA的类?函数?Java中的类,即可看作C++中的函数来使用。因为C++并不是一个有严格意义的面向对象的语言,它有过程和对象的共同特点,既可以当作C语言来实现面向过程,也可以像JAVA那样封装各种类来实现特点功能的面向对象编程。简单介绍了一下JAVA的类,主要对有C/C++基础的朋友们,有不理解的话可以去参看我关于C++面向对象的介绍。rush to JAVAjava难吗?难...
2020-03-23 20:16:23
745
2
原创 C++static类的特点
首先我们看一下这样一段程序:#include<iostream>using namespace std;class MyClass{public: static int count;};int MyClass::count = 5;//必须有初值int main() { MyClass a; MyClass b; a.count = 20; cout <...
2020-03-13 16:46:13
432
1
原创 windows复制文字到虚拟机中(ubuntu)
sudo apt-get autoremove open-vm-tools可能会提示没有安装然后输入:sudo apt-get install open-vm-tools-desktop 系统会提示是否确认,输入“y”即可然后restart就完成了。...
2020-03-10 09:52:51
15147
4
原创 蓝桥杯 对局匹配c++
这个题目用自己的笨办法试了一下,AC成功。例如当K=2时,可分为 {0, 2, 4, 6, 8, …},{1,3, 5, 7, 9, …}共2组。可以发现不同组的数无论如何选择,都不可能相互间相差K,那么我们只需要求每组选出的最大人数之和即可。0作为一个特殊情况只需要判断和自己是否相等的数就行,剩下的情况设一个数据范围来比较,用时能相对短一些。#include <stdio.h>...
2020-03-04 22:15:01
535
2
原创 随机点名软件c++
随机点名这两天上网课,经过高人点化,写了一个万恶的随机点名抽查同学作业的c++小程序。主要思路就是用time这个函数产生的随机种子来生产随机数。需要time.h这个库直接干货!#include <stdio.h>#include <stdlib.h>#include <time.h>#include <iostream>#includ...
2020-02-22 20:35:58
5230
原创 斐波那契和汉诺塔实现 递归算法
递归递归的意思就是一个函数在自己内部不断调用自己的过程,通过反复调用,可以用步步蚕食的方法,解决掉一个比较复杂的问题。总之的递归的核心在于分而治之的思想,在大的问题中发现规律,把体量较大的问题分割开,从问题最小的部分入手,由小到大,逐步解决问题。相信好多人第一次看递归的代码都觉得,这个代码不复杂啊,才几十行而已,但是细读发现并不好理解,这也正是递归的特点,由于在函数中调用函数本身,往往不容易看...
2020-02-20 12:24:33
379
原创 c语言对链表的操作
c语言实现对链表的增改删差直接上干货#include<stdio.h>#include<stdlib.h>typedef struct data { int value; struct data* next;}Ldata, * A;//创建链表AA init(int len) { int i; A p, r, list; r = 0; list =...
2020-02-14 09:06:50
264
原创 Huffman数c++实现
Huffman数思想(1) 以权值分别为W1,W2...Wn的n各结点,构成n棵二叉树T1,T2,...Tn并组成森林F={T1,T2,...Tn},其中每棵二叉树 Ti仅有一个权值为 Wi的根结点;(2) 在F中选取两棵根结点权值最小的树作为左右子树构造一棵新二叉树,并且置新二叉树根结点权值为左右子树上根结点的权值之和(根结点的权值=左右孩子权值之和,叶结点的权值= Wi)(3) 从F中删...
2020-02-13 09:23:14
290
原创 vector c++实现
什么是vector首先,vector容器是一种牛到无视数据类型的存储容器,可以存放c语言的基本数据类型,还可以存放结构体,甚至是类,这正是我们想要的简单强大的工具,个人认为功能强于链表。怎么写一个vector?首先需要包含这个头文件。#include<vector>using namespace std;vector<int>vi;//存放整数的容器vecto...
2020-02-12 22:23:39
333
原创 Lake Counting积水问题 dfs深度搜索
原题链接:Lake Counting深度优先搜索从任意w开始,把邻接部分全部用’.‘代替。一次DFS可以把初始和这个w连接的所有w替换为‘.’,直到兔子不存在w为止,总共次数也就是DFS的次数,即为原题中的水池个数。复杂度为O(8NM)=O(M*N)。#include <iostream>#include<cstdio>using namespace std;...
2020-02-10 21:29:31
399
2
原创 c++对链表的操作(一)
初识链表很多初学者觉得链表和数组一样都是顺序存储结构,同样每个数据都有自己的指针,它们到底有什么区别?链表是一种动态数据结构,他的特点是用一组任意的存储单元(可以是连续的,也可以是不连续的)存放数据元素。链表中每一个元素成为“结点”,每一个结点都是由数据域和指针域组成的,每个结点中的指针域指向下一个结点。Head是“头指针”,表示链表的开始,用来指向第一个结点,而最后一个指针的指针域为NULL...
2020-02-09 10:19:56
1703
Dev-Cpp.zip
2020-02-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人