自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 资源 (10)
  • 收藏
  • 关注

原创 229. 求众数 II

思路:利用两个变量分别保存可能满足条件的数并记录其对应的个数若当前数与两个变量保存的数都不同,则变量对应的个数都减1拓展:找出出现次数超过 [ n/k ] 次:用k-1个变量保存可能满足条件的数及对应的个数class Solution {public: vector<int> majorityElement(vector<int>& nums) { int r1, r2, c1 = 0, c2 = 0; //r1,r2:两个..

2021-09-08 22:17:59 100

原创 148. 排序链表

思路:归并排序自底向上:从长度为1开始,两两归并每次长度*2/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x..

2021-09-06 23:45:05 98

原创 169. 多数元素

思路:记录保存数及其次数;①如果当前数与保存数不一致,次数减一,次数减为0,则保存当前数②如果当前数与保存数一致,次数加一class Solution {public: int majorityElement(vector<int>& nums) { int r = nums[0], c = 1; for(int i=1; i<nums.size(); i++) { if(r != nu..

2021-09-05 23:08:55 87

原创 179. 最大数

179. 最大数思路:自定义排序规则:a < b 等价于 to_string(a)+to_string(b) < to_string(b)+to_string(a)class Solution {public: string largestNumber(vector<int>& nums) { sort(nums.begin(), nums.end(), cmp); string s; for(aut

2021-09-05 09:08:30 75

原创 MVVM简单应用实践(二)

上一小节已经通过自行实现Commands完成预期功能。但目前仍存在如下几点缺陷:对应“加、减、乘、除”不同的操作,分别实现了PlusCommand、MinusCommand、MultiplicationCommand、DivisionCommand。而这四种操作对应的代码大体相同。xxxCommand与CaculatorVM耦合度高,比如修改了CaculatorVM中的Add方法,则要去修改PlusCommand内Execute方法。可以通过内置委托(Predicate、Action、Func)进

2020-08-31 18:05:09 124 1

原创 MVVM简单应用实践(一)

0. MVVM介绍及前置知识上图来自维基。组成要素:Model:表示具体数据内容(represents real state content)View:界面展示View Model:View的抽象,提供公共属性和命令(an abstraction of the view exposing public properties and commands)Binder:(a view directly binds to properties on the view model to send and

2020-08-31 18:00:32 257

原创 图论系列(六)——图的广度优先遍历及应用2

1. 二分图检测import java.util.LinkedList;import java.util.Queue;public class BipartitionDetection { private Graph G; private boolean[] visited; private int[] colors; //colors[i]:节点i的颜色:0...

2020-03-30 17:05:32 295

原创 图论系列(五)——图的广度优先遍历及应用1

1. 树的广度优先遍历与图的广度优先遍历对比

2020-03-29 21:15:59 434

原创 图论系列(四)——图的深度优先遍历的应用2

1. 图的环检测无向图有环:当前点的邻接节点已经被访问过被访问过的邻接节点不是当前节点的上个访问import java.util.ArrayList;import java.util.Collections;public class CycleDetection { private Graph G; private boolean[] visited; ...

2020-02-15 21:06:07 320

原创 图论系列(三)——图的深度优先遍历的应用1

1. 联通分量统计一个图中联通分量个数判断两点是否联通求每个联通分量中包含点编号import java.util.ArrayList;//Connected Component —— 联通分量public class CC { private Graph G; private int[] visited; //将 boolean型改为 int...

2020-02-15 21:04:19 552

原创 图论系列(二)——图的深度优先遍历

1. 树的深度优先遍历与图的深度优先遍历对比2. 代码实现(递归版)import java.util.ArrayList;public class GraphDFS { private Graph G; private boolean[] visited; private ArrayList<Integer> order = new ArrayLis...

2020-02-08 20:26:23 319

原创 图论系列(一)——图的基本概念和基本表示

1. 图的分类2. 图的基本概念(联通分量、联通图的生成树)3. 图的基本表示(无向无权图为例)实现代码:import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.Scanner;public class AdjMatrix { priv...

2020-02-08 14:53:23 610

原创 算法基础——高精度加、减、乘、除

1. 思想大整数——将数字从个位开始存储高精度乘法:高精度除法:2. 模板高精度加法#include<iostream>#include<vector>using namespace std;vector<int> add(vector<int>& v1, vector<int>& v2)...

2020-02-03 11:54:55 135

原创 算法基础——二分

1. 思想2. 模板3. 应用数的范围题目链接#include <iostream>using namespace std;const int N = 1e6+10;int arr[N];int main(){ int n, q; scanf("%d %d", &n, &q); for(int i=0;...

2020-01-28 22:26:20 93

原创 算法基础——归并排序

1. 思想分治法:选择中间点递归排序左边、右边归并2. 模板#include <iostream>using namespace std;const int N = 1e6+10;int arr[N],tmp[N];void mergeSort(int *arr, int l, int r){ if(l >= r) return ;...

2020-01-27 20:23:16 94

原创 算法基础——快速排序

1. 思想分治法选择分界点(arr[l]、arr[mid]、arr[r])调整数组区间(左半部分 < 分界点,右半部分 > 分界点)递归处理左半部分,递归处理右半部分2. 模版#include <iostream>#include <algorithm>using namespace std;const int N = 1e6 +...

2020-01-26 21:45:18 101

原创 深度探索c++对象模型(四)补充

1. 普通成员变量的存储顺序按照在类中定义的顺序class A{public: int m_i; static int m_si; int m_j; static int m_sj; int m_k; static int m_sk;};int main(){ A a; a.m_i = 2; a.m_k = 5; a.m_j = 3; return 0;...

2019-11-10 13:39:22 80

原创 深度探索c++对象模型(五)

1. 虚继承的引入(解决访问二义性)class A{public: int m_a;};class B:public A{public: };class C :public A{public: };class D :public B, public C{public: };int main(){ D d; d.m_a = 5; //error...

2019-09-05 22:23:55 85

原创 深度探索c++对象模型(四)

单一继承下数据成员布局引入继承关系后,可能会带来内存空间的额外增加class A{public: int a; int b; char c; char d;};int main() { cout << sizeof(A) << endl; return 0;}结果:class A{public: int a; int...

2019-09-04 08:07:21 112

原创 六大高并发模型

文章目录1.多进程2.多线程3.线程池4.select、poll、epoll1.多进程缺点:启动和关闭子进程带来很大的开销系统创建线程有上限命令:ulimit -u简单实现2.多线程缺点:与多进程相似简单实现3.线程池基本思想:事先创建一定数量的工作线程,当任务队列中有任务时就唤醒阻塞等待的工作线程;用一个管理者线程来管理何时需要创建新线程、销毁多余线程。简单实现...

2019-08-28 19:31:01 611

原创 深度探索c++对象模型(三)

1. 验证vptr指针位置环境:vs2019结果2. 通过对象的vptr指针来手动调用虚函数结果注意点:若将类A中的虚函数改为private,运行结果相同。(不管公有还是私有,只要是虚函数,它的函数地址都会放在虚函数表vftable中)3....

2019-08-27 19:50:43 109

原创 线程同步技术——条件变量

条件变量一些注意点pthread_cond_wait函数虚假唤醒若条件变量条件产生只发生一次,确保在调用pthread_cond_signal或pthread_cond_broadcast函数之前,首先有线程调用pthread_cond_wait函数,确保条件变量信号不丢失。参考链接...

2019-08-17 16:08:47 63

原创 深度探索c++对象模型(二)

成员初始化列表何时必须使用成员是个引用成员是const类型继承的基类有一个有参的构造函数有类类型的成员变量,并且该类的构造函数带有参数注意:若该类的构造函数带有参数并且参数带有默认值,可以不用参数列表初始化列表的好处没用初始化列表初始化类类型成员变量结果使用初始化列表结果结论:提高效率注意点:初始化列表中变量的初...

2019-08-16 14:05:49 119

原创 深度探索c++对象模型(一)

vs调试技巧:F5调试F9加断点shift+F9 :查看变量内存地址1. 对象1.1 sizeof(空类)== 11.2 类的成员函数不占用 类对象 的内存空间1.3 静态成员变量属于类,不占用 类对象 的内存空间1.4 虚函数虚函数表一般是保存在可执行文件中的,在程序执行的时候载入到内存中来...

2019-08-16 14:05:35 104

原创 LeetCode典型题——字符串

1.常用方法to_string()atois.substr( size_type pos = 0, size_type count = npos )2. 题目class Solution {public: string countAndSay(int n) { string s = "1"; for(int i=2...

2019-08-08 17:03:41 199

原创 LeetCode典型题——递归与回溯

递归和回溯class Solution {public: vector<string> letterCombinations(string digits) { vector<string> ret; if(digits.length() == 0) return ret;...

2019-08-07 10:47:36 128

原创 LeetCode典型题——二分查找

目录1. 思想2. 模板题目1. 思想寻找一个标准,可以使原始数据具有两段性2. 模板情况一:按照某种性质将数据分为两类,target在后半部分若此时mid > target,则R = mid;否则L = mid + 1int bsearch_1(int l, int r){ while(l < r) { int mid...

2019-07-16 14:13:08 160

原创 剑指offer(五)

文章目录41. 和为S的两个数字42. 左旋转字符串43. 翻转单词顺序列44. 扑克牌顺子45. 圆圈中最后剩下的数46. 求1+2+3+…+n47. 不用加减乘除做加法48. 把字符串转换成整数49. 数组中重复的数字50. 构建乘积数组41. 和为S的两个数字a+b=sum,a和b越远乘积越小a+b=sum;a+n+b-n=sum;(a+n)(b-n)=ab+n(b-a)>...

2019-07-10 21:02:53 61

原创 剑指offer(四)

31.整数中1出现的次数32.把数组排成最小的数对数组进行排序排序规则:将int a, int b转为string若 a+b<b+a a排在在前class Solution {public: string PrintMinNumber(vector<int> numbers) { sort(numbers.beg...

2019-07-05 15:51:54 130

原创 剑指offer(三)

21. 栈的压入、弹出序列class Solution {public: bool IsPopOrder(vector<int> pushV,vector<int> popV) { int i = 0; int j = 0; for(; i<pushV.size(); i...

2019-06-27 15:15:18 174

原创 STL——容器

文章目录1. list2. vector3. deque3.1 push_back3.2 push_front3.3 重新配置map4. queue、stack1. list2. vector在扩容时会调用大量的拷贝构造函数、析构函数指向原vector的迭代器失效3. deque3.1 push_back3.2 push_front3.3 重新配置map配置更大的,...

2019-06-25 09:59:31 91

原创 LeetCode典型题——动态规划

class Solution {private: vector<int> memo; int breakInteger(int n){ if(n == 1) return 1; if(memo[n] != -1) return memo[n]; int re...

2019-06-23 17:18:52 167

原创 进阶算法04

无后效性问题:不管通过什么方式到达某个状态,其返回值都一样。1. 换钱的方法数暴力递归以arr = [5, 10, 25, 1],aim = 15为例:节点中的内容表示:从下标为[i~j]的数组中取任意张,可以换到aim的方法数class Solution{public: int coins(int *arr, int len, int aim)...

2019-06-23 17:17:25 225

原创 剑指offer(二)

11.二进制中1的个数class Solution {public: int NumberOf1(int n) { int ret = 0; for(int i=0; i<sizeof(int)*8; i++) //不能使用 while(n != 0) ...

2019-06-22 15:58:28 68

原创 UML

文章目录1.用例图泛化关系包含关系扩展关系2. 类图泛化关系实现关系依赖关系关联关系1.用例图泛化关系子用例指向父用例包含关系扩展关系偶尔会执行另外一个功能2. 类图+表示公有-表示私有#表示保护泛化关系类与类的继承关系实现关系类与接口之间的实现关系依赖关系Car被Person类中的成员函数作为参数使用关联关系Car作为...

2019-06-22 13:36:15 205

原创 剑指offer(一)

文章目录1.二维数组中的查找2.替换空格3.从尾到头打印链表1.二维数组中的查找解法1:class Solution {public: bool Find(int target, vector<vector<int> > array) { int m = array.size(); int n = array[0].si...

2019-06-19 20:48:11 89

原创 LRU实现

LRU(Least Recnetly Used)最近最少使用淘汰最长时间未被使用的页面思路:依次插入A,B,C:插入A:先从哈希表中查找到A的value,存储的是该节点的地址;在双端队列中将该A节点移到末尾插入D:取出head指向的节点,取出其中的key为B;删除head指向的节点,同时在哈希表中删除;将D插入到末尾class LRUC...

2019-06-16 20:04:05 368

原创 Net——EventLoopThread类

文章目录1. 作用2.成员变量3.测试用例 Reactor_test06.cc1. 作用创建了一个线程,并线程函数中创建了一个EventLoop对象2.成员变量3.测试用例 Reactor_test06.ccinclude <muduo/net/EventLoop.h>#include <muduo/net/EventLoopThread.h>#in...

2019-06-08 16:12:59 134

原创 Net——EventLoop类(三)、Timer类、TimerId类、TimerQueue类

timestamp相当于整数,保存在寄存器当中,而非堆栈当中

2019-05-25 13:01:28 208

原创 Net——让EventLoop处理定时器事件

timerfd_create()CLOCK_MONOTONIC:如果人为将系统时间向后调整,不会触发定时器

2019-05-22 22:58:22 310

win7安装中文语言包

文件包含两个.exe,打开控制面板的区域和语言,在keyboards and languages里面点击install /uninstall languages这个按钮,再点击install display languages,再把文件windowsxxx.exe中.cab格式的添加进去即可。具体安装参考:https://jingyan.baidu.com/article/36d6ed1f8d0d511bcf4883cb.html;要是没有“Install or uninstall display languages ”选项,运行 Visalizator.exe,然后选择.cab文件安装即可。

2020-02-25

算法笔记上机训练实战指南

高清版算法笔记 《算法笔记上机训练实战指南》是《算法笔记》[1] 的配套习题集,内容按照《算法笔记》的章节顺序进行编排,其中整理归类了PAT甲级、乙级共150多道题的详细题解,大部分题解均编有题意、样例解释、思路、注意点、参考代码,且代码中包含了详细的注释。读者可以通过本书对《算法笔记》的知识点进行更深入的学习和理解。

2018-03-02

用python写网络爬虫

用python写网络爬虫

2017-08-18

Git-2.12.0-64

官网自己下载的Git安装包。。。

2017-05-07

范式的判断

感觉讲的不错,对于如何判断范式有一定的帮助。

2017-03-28

数据库期末考试复习题库

拿来复习练手的数据库题目。

2017-03-09

数据库课程设计选题

小学期的数据库理论概述的 课程设计选题。

2015-07-29

安徽省第六届安徽省大学生程序设计竞赛题目和解题报告

安徽省第六届安徽省大学生程序设计竞赛题目和解题报告

2015-07-29

斯坦福机器学习课后答案和个人笔记

个人学习机器学习所做的题目记录和收集的讲义

2015-06-26

斯坦福大学课程目录和机器学习书

这是斯坦福大学的机器学习目录和相关的机器学习书籍

2015-05-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除