自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode字符串

5. 最长回文子串class Solution {public: string longestPalindrome(string s) { int n = s.size(); if(n==0){ return ""; } vector<vector<int>>dp(n,vector<int>(n,0)); string res;

2020-09-06 23:13:03 118

原创 leetcode拓扑排序

拓扑排序一般应用于,你完成B之前需要完成A,找到昨晚这些事情的顺序拓扑排序可以先找到度为0的点,作为答案,知道找完或者不存在度为0的点,后者意味着没有答案210. 课程表 IIclass Solution {public: vector<int> findOrder(int numCourses, vector<vector<int>>& prerequisites) { vector<vector<int>&g

2020-09-06 21:30:03 189

原创 leetcode查分

1094. 拼车class Solution {public: bool carPooling(vector<vector<int>>& trips, int capacity) { int n = trips.size(); int k = trips[n-1][2]; vector<int>ans(1001,0); for (auto t:trips){ a

2020-09-06 15:44:32 521

原创 leetcode hash+前缀

560因为以i结尾的连续子数组,只需要找到是否存在i结尾的前缀的presum-K的hash值存在即可,即可找到将和为presum-k的前缀去掉即可。class Solution {public: int subarraySum(vector<int>& nums, int k) { unordered_map<int,int>map; map[0]=1; int pre = 0; int coun

2020-09-02 00:16:17 160

原创 leetcode滑动窗口

一般使用双坐标实现,l和r,循环控制l和r范围209class Solution {public: int minSubArrayLen(int s, vector<int>& nums) { int l=0; int r=0; int sum = 0; int n = nums.size(); int res = INT_MAX; while(r<n){ //控制右边位

2020-08-30 22:44:44 110

原创 2020-08-25

并查集1、find函数 找其大boss2、 union 判断两个大boss是否是一个,若不是一个就合并3、findCircleNum 遍历二维数组,判断两人是否有交集 有的话调用2,2调用1class Solution {public: int find(vector<int>parent,int i){ if(parent[i] == -1){ return i; } return find(par

2020-08-25 23:48:43 63

原创 2020-08-16

leetcode中的单调栈栈内的元素大小按照他所在的位置满足单调递减84解析:栈中保存的是位置,并且按位置排列,元素单调递减每次迭代的res表示以h为高的最大面积,因为除了l到r的范围,再也没有比高度为h的更大的面积了,l-1处的h(l-1)是小于h(l)的,而h(r+1)<h®的。而这样遍历一遍即可找到注意,这里对heights加元素0是为了保证所有元素都能弹出(比如只有一个元素的情况)class Solution {public: int largestRectangleAr

2020-08-16 21:46:34 75

原创 leetcode中的分析法

621. 任务调度器给定一个用字符数组表示的 CPU 需要执行的任务列表。其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。CPU 在任何一个单位时间内都可以执行一个任务,或者在待命状态。然而,两个相同种类的任务之间必须有长度为 n 的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执行不同的任务,或者在待命状态。你需要计算完成所有任务所需要的最短时间。分析:maxBuketNum 任务种类的数量ma

2020-07-11 17:31:20 118

原创 leetcode中的图算法

1、Bellman Ford算法判断是否经过某个顶点,或者说经过某条边,可以缩短起点到终点的路径权值。最后找到最短路径权值class Solution {public: int networkDelayTime(vector<vector<int>>& times, int N, int K) { vector<int> dist(N + 1, INT_MAX); dist[K] = 0; for (

2020-07-11 16:55:17 295

原创 leetcode中的位置指针

利用两个指针来标记开始和结束,经常在字符串中用到640. 求解方程求解一个给定的方程,将x以字符串"x=#value"的形式返回。该方程仅包含’+’,’ - '操作,变量 x 和其对应系数。如果方程没有解,请返回“No solution”。如果方程有无限解,则返回“Infinite solutions”。如果方程中只有一个解,要保证返回值 x 是一个整数。解析:i表示数字开始位置,j表示数字结束位置class Solution {public: string solveEquatio

2020-07-09 23:06:15 135

原创 LeetCode中的DFS

BFS深度优先遍历算法,一般使用递归实现,注意递归结束条件464. 我能赢吗在 “100 game” 这个游戏中,两名玩家轮流选择从 1 到 10 的任意整数,累计整数和,先使得累计整数和达到 100 的玩家,即为胜者。如果我们将游戏规则改为 “玩家不能重复使用整数” 呢?例如,两个玩家可以轮流从公共整数池中抽取从 1 到 15 的整数(不放回),直到累计整数和 >= 100。给定一个整数 maxChoosableInteger (整数池中可选择的最大数)和另一个整数 desiredTot

2020-07-08 22:54:10 176

原创 LeetCode中BFS(广度优先搜索)

1、广度优先搜索就是先搜索广度如下所示,广度优先算法会优先遍历每一层a/ \b c/ \d e利用队列可实现广度优先遍历127. 单词接龙给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在重复

2020-07-06 17:54:22 319

原创 leetcode中的bitmap

C++中常用的bitmap数据结构bitset相关函数set() count() any() none()1239. 串联字符串的最大长度给定一个字符串数组 arr,字符串 s 是将 arr 某一子序列字符串连接所得的字符串,如果 s 中的每一个字符都只出现过一次,那么它就是一个可行解。请返回所有可行解 s 中最长长度。1、要是子序列中有重复的字符,则不合法,跳过该子序列2、子字符串要是和之前的合法的字符串无重复字符,则加到总序列中,并更新最大合法序列长度。class Solution

2020-07-06 17:05:46 237

原创 leetcode递归/栈

标题递归或者栈都能解决一类问题递归较为关键的地方是结束条件字符串解码给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。class Soluti

2020-07-05 22:24:12 109

原创 leetcode中的动态规划

动态规划利用上一步迭代的结果作为下一步迭代的条件进行运算,dp[i]由dp[i-1]得到1186. 删除一次得到子数组最大和描述:给你一个整数数组,返回它的某个 非空 子数组(连续元素)在执行一次可选的删除操作后,所能得到的最大元素总和。换句话说,你可以从原数组中选出一个子数组,并可以决定要不要从中删除一个元素(只能删一次哦),(删除后)子数组中至少应当有一个元素,然后该子数组(剩下)的元素总和是所有子数组之中最大的。注意,删除一个元素后,子数组 不能为空。子数组需要是连续的,所以对于当前的元素

2020-07-05 20:58:29 185

原创 leetcode中的二分法

二分法:初始化范围min,max中间位置tmp=min+(max-min)/2,分为前半部分还是后半部分根据条件确定是前半部分还是后半部分主要边界条件需要一一对应1、1011,在D天内送包裹题示:传送带上的包裹必须在 D 天内从一个港口运送到另一个港口。传送带上的第 i 个包裹的重量为 weights[i]。每一天,我们都会按给出重量的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。返回能在 D 天内将传送带上的所有包裹送达的船的最低运载能力。思路:D天内找到货船的最低

2020-07-03 13:14:02 230

原创 Linux 杂项

1、使用ssh远程登录服务器(centos)yum install ssh2、启动sshservice sshd satrt3、登录远程服务器ssh -p 1000 service@127.0.0.1p 后是端口service是服务器用户名127.0.0.1是服务器ip4、输入密码

2020-05-14 20:08:19 101

原创 服务器使用存储

建立连接可以多路径写入数据,增强可靠性加入多路径软件,让主机智能看到一个lun

2020-05-13 12:43:18 441

原创 存储网络技术

存储网络发展存储网络协议存储网络协议比较NASFC SANIP SAN对比

2020-05-13 12:30:04 171

原创 存储阵列

RAID级别及原理raid3有一块异或盘,其他三块盘任意一块数据丢,则只需要其余两个盘与校验盘异或即可缺点:只三个数据盘数据改变,则需要重写校验盘的数据,则性能瓶颈在校验盘中raid5 将校验位打散,性能瓶颈改善raid6 : 横向校验和xiexiang...

2020-05-13 12:12:58 2561

原创 存储基本概念

存储经常访问:在线存储近线存储: 容量大 便宜 偶尔访问离线存储:备份存储 容灾存储的物理结构-双控制器存储架构存储性能评估方法大IO :带宽小IO:IOPS

2020-05-13 11:07:08 143

原创 GitHub基本(更新中)

1.拉代码从服务器拉代码或本地克隆代码git clone 仓库地址git clone git@github.com 仓库地址 (ssh已登录)

2020-05-12 17:25:24 536

原创 保姆级搭建个人博客

Windows搭建搭建个人博客1.注册github上注册账号2.创建仓库Respository name 中写username.github.io其中username与owner一致3.安装GitHubgithub下载安装4.安装NodejsNodejs下载安装5.安装Hexo打开Git bash输入命令 npm install -g hexo6.初始化创建文件 m...

2020-05-06 22:33:13 219

原创 volatile 修饰符

volatile修饰符使得编译器不需要优化volatile修饰的变量,让其直接读取内存中的变量,而不是优化后去读取寄存器中的变量该关键词常用于多线程或者多进程编写...

2020-04-21 22:12:27 50

原创 C++嵌套注释

/**/不可以嵌套注释可以用 #if0 … #endif实现注释//将代码块code注释掉#if 0 code#endif//满足condition条件执行code1//否则执行code2#if condition code1#else code2#endif...

2020-04-21 17:16:09 435

原创 常用gcc命令

常用gcc命令g++ -g -Wall -std=c++11 main.cpp选项命令-ansi只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色, 例如 asm 或 typeof 关键词。-c只编译生成目标文件-g生成调试信息。GNU 调试器可利用该信息。-lLIBRARY连接时搜索指定的函数库LIBRARY-oF...

2020-04-21 17:09:48 116

原创 编程单词命名

编程单词命名单词命名规则是为了增加可读性,能尽量不缩写就别缩写。缩 写全 称aaddrAddressadmAdministratorappApplicationargArgumentasmassembleasynasynchronizationavgaveragebbkbackbmpBitma...

2020-04-14 23:42:11 311

原创 分布式网站架构

大型网站架构演变过程一.web server与数据库分离(原来应用和数据服务器在一台机器上)将web服务器和数据库服务器分离,但是这种只是单点,只有有一个服务器坏了,则所有网站就不能访问了。1)对于web sever做web动静资源分离浏览器的请求分为静态资源请求和动态资源请求静态资源请求:html页面请求、js脚本请求、jss样式请求、jmp图像请求动态资源请求:jsp、...

2019-08-27 17:19:09 701

原创 服务器的设计目标—高性能、高可用、伸缩性

服务器设计目标高性能(High Performance):能最大限度的发挥机器的性能,使得机器在满负荷的情况下能够处理尽可能多的并发请求,并且能及时快速的做出响应。高可用(High Availability):能够保证服务器7*24小时不间断的服务,若某个服务器出现了故障也能自动转移到备用机,让备用机工作起来,这叫failover伸缩性(Scalability):服务器有良好的框架、分...

2019-08-27 17:17:20 726

转载 _attribute用法总结

attribute是GNU C特色之一,在iOS用的比较广泛.系统中有许多地方使用到. attribute可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute)等.函数属性(Function Attribute)noreturnnoinlinealways_inlinepureconst...

2019-05-23 21:50:40 3156

转载 linux惊群效应

详细的介绍什么是惊群,惊群在线程和进程中的具体表现,惊群的系统消耗和惊群的处理方法。1、惊群效应是什么?惊群效应也有人叫做雷鸣群体效应,不过叫什么,简言之,惊群现象就是多进程(多线程)在同时阻塞等待同一个事件的时候(休眠状态),如果等待的这个事件发生,那么他就会唤醒等待的所有进程(或者线程),但是最终却只可能有一个进程(线程)获得这个时间的“控制权”,对该事件进行处理,而其他进程(线程)获取“...

2019-05-20 17:20:31 130

转载 原子操作实现无锁队列

关于CAS等原子操作在开始说无锁队列之前,我们需要知道一个很重要的技术就是CAS操作——Compare & Set,或是 Compare & Swap,现在几乎所有的CPU指令都支持CAS的原子操作,X86下对应的是 CMPXCHG 汇编指令。有了这个原子操作,我们就可以用其来实现各种无锁(lock free)的数据结构。这个操作用C语言来描述就是下面这个样子:(代码来自Wik...

2019-05-17 18:22:05 758

原创 GCC原子操作

2019-05-17 17:03:05 198

转载 GCC 提供的原子操作总结

gcc从4.1.2提供了__sync_*系列的built-in函数,用于提供加减和逻辑运算的原子操作。其声明如下:type __sync_fetch_and_add (type *ptr, type value, …)type __sync_fetch_and_sub (type *ptr, ...

2019-05-17 16:59:46 128

转载 高性能服务器架构(High-Performance Server Architecture)

引言本文将与你分享我多年来在服务器开发方面的一些经验。对于这里所说的服务器,更精确的定义应该是每秒处理大量离散消息或者请求的服务程序,网络服务器更符合这种情况,但并非所有的网络程序都是严格意义上的服务器。使用“高性能请求处理程序”是一个很糟糕的标题,为了叙述起来简单,下面将简称为“服务器”。本文不会涉及到多任务应用程序,在单个程序里同时处理多个任务现在已经很常见。比如你的浏览器可能就在做一些并...

2019-05-17 16:58:27 443

原创 机器学习——读写数据遇到 Unable to create link (interfile hard links are not allowed)

Python-读写数据遇到 Unable to create link (interfile hard links are not allowed)环境:Ubuntuspyder错误在这里插入图片描述后来在命令行运行代码发现是文件权限问题修改文件权限 chmod 0777 XXX.XX即可...

2019-04-25 21:41:02 1636

空空如也

空空如也

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

TA关注的人

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