自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 几种排序算法

排序算法基于比较排序 时间复杂度下界 O(NlogN)O(NlogN)O(NlogN)交换排序排序方法时间复杂度(平均)时间复杂度(最坏)时间复杂度(最好)空间复杂度稳定性冒泡排序O(n2)O(n^2)O(n2)O(n2)O(n^2)O(n2)O(n)O(n)O(n)O(1)O(1)O(1)稳定快速排序O(nlogn)O(nlogn)O(nlogn)O(n2)O(n^2)O(n2)O(nlogn)O(nlogn)O(nlogn)O(logn)O(lo

2021-12-31 20:37:37 699

原创 【无标题】

172. 阶乘后的零一个数末尾有多少零的个数()取决于能分出多少个10每有一个 10 后面就有几个零 又因为所以又等价于找出有多少对 5​​​ 所以答案就是class Solution {public: int trailingZeroes(int n) { int res = 0; while(n) res += n / 5,n /= 5; return res; }};1342. ...

2021-12-19 18:44:30 460

原创 【无标题】

1.832. 翻转图像​​​​​​模拟题class Solution {public: vector<vector<int>> flipAndInvertImage(vector<vector<int>>& image) { int n = image.size(), m = image[0].size(); for(int i = 0;i < n;i++){ re.

2021-12-17 21:13:31 226

原创 【无标题】

1.1351. 统计有序矩阵中的负数class Solution {public: int countNegatives(vector<vector<int>>& grid) { int num=0; for (auto x:grid){ for (auto y:x){ if (y<0) num++; } }

2021-12-16 22:38:40 347

原创 九日集训(每日打卡)第六天

1.1913. 两个数对之间的最大乘积差硬算 没有负数情况 感觉题比较垃圾class Solution {public: int maxProductDifference(vector<int>& nums) { sort(nums.begin(),nums.end()); int n = nums.size() - 1; return (nums[n] * nums[n-1] - nums[0] * nu...

2021-12-15 17:51:04 964

原创 九日集训(每日打卡)第五天

1.912. 排序数组排序模板题,可以练模板class Solution {public: void quick_sort(vector<int>& q,int l ,int r){ if(l >= r) return; int i = l - 1,j = r + 1,x = q[(l + r) >> 1]; while(i < j){ do i++; while(q[

2021-12-14 10:53:31 1348

原创 九日集训(每日打卡)第四天

1470. 重新排列数组归并​class Solution {public: vector<int> shuffle(vector<int>& nums, int n) { vector<int> num; for(int i=0;i<n;i++){ num.push_back(nums[i]); num.push_back(nums[i+n]);

2021-12-13 12:52:54 909

原创 九日集训(每日打卡) 第三天

33. 搜索旋转排序数组第一种用循环做,很简单​​// 循环class Solution {public: int search(vector<int>& nums, int target) { for(int i = 0;i<nums.size();i++){ if(nums[i] == target) return i; } return -1; }};​​.

2021-12-12 18:37:19 805

原创 【无标题】

1.剑指 Offer 64. 求1+2+…+n递归class Solution {public: int sumNums(int n) { int res = n; n>0 && (res+= (sumNums(n-1))); return res; }};2.231. 2 的幂重点在于对位运算符的理解 解法1:&运算,同1则1。return (n > 0) &&...

2021-12-11 17:33:03 271

原创 九日集训(每日打卡)第一天

函数[371. 两整数之和]class Solution {public: int getSum(int a, int b) { return a + b; }};​[面试题 17.01. 不用加号的加法]常用的运算符共 6 种,分别为与( & )、或( | )、异或( ^ )、取反( ~ )、左移( << )和右移( >> )。异或运算的逆运算是它本身,也就是说两次异或同一个数最后结果不变,即 a^b...

2021-12-10 16:44:12 930

原创 第一天 宣誓贴

我宣誓!一定坚持九天!无论前路多么坎坷,都和兄弟并肩作战!刀山火海,风雨无阻!九日之后,神挡杀神,佛挡杀佛!

2021-12-08 19:31:17 151

原创 每日LeetCode(第三天)

1.幂和对数① 231. 2 的幂一个数如果是 2 的指数,那么它的二进制表示一定只含有一个 1:2^0 = 1 = 0b00012^1 = 2 = 0b00102^2 = 4 = 0b0100如果使用 n&(n-1) 的技巧就很简单了(注意运算符优先级,括号不可以省略)://lowbitclass Solution {public: bool isPowerOfTwo(int n) { return n > 0 && (n &am

2021-10-22 22:40:06 63

原创 每日LeetCode (第二天)

①189. 旋转数组// 第一种 连续翻转三次class Solution {public: void rotate(vector<int>& nums, int k) { int n = k%nums.size(); reverse(nums.begin(),nums.end()); reverse(nums.begin(),nums.begin()+n); reverse(nums.begin()+n,n

2021-10-21 21:43:59 61

原创 每日 LeetCode(第一天)

① 26. 删除有序数组中的重复项/* 双指针 一个指针出去找不重复的,另一个指针在原地等待外出的指针传来数,最后返回原地指针就可以 判断是否更改的条件就是:看外出指针跟在家指针是不是一样的 如果不相等的话就传过来 不相等的话就接着找*/class Solution {public: int removeDuplicates(vector<int&g

2021-10-20 21:22:06 142 1

原创 实现顺序表的两种方式

顺序表之静态储存#include<stdio.h>#include<stdlib.h>#define MaxSize 20 //定义顺序表最大长度 typedef struct{ int elem[MaxSize]; //静态数组存放数据元素 int length; //顺序表的当前长度 }SqList; void InitList(SqList &L){ //初始化一个顺序表 for(int i=0;i<MaxSize;i++) L.ele

2021-09-09 17:20:53 227 1

原创 斐波那契数列

斐波那契数列(Fibonacci sequence)又称黄金分割数列,因数学家莱昂纳多·斐波那契(LeonardodaFibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义: F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)非递归循环迭代算法#include<iostream>using namespa

2021-09-08 16:06:14 631 1

原创 数据结构之链表

数据结构之链表2.1 单链表的定义与表示线性表链式存储结构的特点是:用一组任意的存储单元存储线性表的数据元素(可以是连续或者不连续)。所以除了存储本身信息(数据域)之外还需存储一个与后继数据元素之间关系的信息(指针域)。这两部分组成的数据元素的存储映像,称为结点。n个结点链结成一个链表即为线性表的链式存储结构。由于只有一个指针域,又称为线性链表或单链表。2.2 指针的常用操作1.类型定义typedef struct LNode{ Elemtype date; struct Lnode *

2021-09-01 21:18:13 503 2

原创 考研复习进度

数学高数0基础:宋浩基础:李正元复习全书+武忠祥高数讲义强化:武忠祥线代基础:李永乐李永乐线代讲义强化:李永乐概率论基础:余炳森余炳森概率讲义强化:余炳森英语语法:结束单词:9.1-11408算法:·············Acwing语法基础课·············Acwing算法基础课·············pat甲数据结构:·············王卓:·············陈越:操作系统:·············电子科技大:

2021-08-26 14:16:26 103

原创 高精度运算 加 减 乘 除

**由于int只能存109,longlong只能存1018,在有些时候不够用了我们就会用这种方法进行高精度运算。 思想:开一个数组,用数组存各个位数,最后按顺序输出。A+B#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#include<cstring>using namespace std;//高精度加法 char s1[505],s2.

2021-08-14 23:32:37 104

原创 C++与C的区别

C++与C的区别b站视频:C语言与C++到底有什么区别1.最简单的C++程序#include <iostream> //头文件#include <cstdio> //等效#include <stdio.h>using namespace std; //命名空间int main(){ //入口 return 0; }C++头文件:直接类名的方式直接包含C++包含C语言头文件,依旧可以采用C语言,当包含C语言

2021-08-11 20:35:23 153 2

原创 第二章 进程管理

2.1.4 进程通信2.1.5 线程概念和多线程模型2.1.5_1 什么是线程,为什么要引入线程?在没有引入进程之前,系统中各个程序只能串行执行。如果我想过听音乐我就不可以看qq。但是当我看qq的时候我又想跟别人视频又想跟别人聊天怎么办呢?如果说在OS中引入进程的目的是为了使多个程序可以并发执行(提高资源利用率和系统吞吐量),那么引入线程,就是为了减少程序并发时所付出的时空开销,使OS有更好的并发性!程序并发执行所需付出的时空开销:创建程序:创建一...

2021-08-10 18:51:15 370 2

空空如也

空空如也

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

TA关注的人

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