自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 花式遍历二叉树

左神介绍的遍历二叉树的花式方法#include<iostream>#include<stack>#include<queue>using namespace std;struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};/*struct Comm

2022-03-22 22:22:33 594

原创 花式排序大集合

#include<iostream>#include<vector>#include<algorithm>#include<random>#include<ctime>using namespace std;void bubbleSort(vector<int> &nums){ // 冒泡排序 for(int i=0; i<nums.size()-1; ++i) for(in.

2022-03-22 22:18:42 181

原创 重构:改善既有代码的设计 读书笔记

基本定义:重构(名词)是在不改变软件外在行为的前提下改善其内部结构。提高可理解性,降低修改成本。重构(动词)是使用一系列重构手法,在不改变软件外在行为的前提下,调整其结构。第一章 如果你需要为程序添加一个新功能,而现有的代码结构使你无法很方便地达成目的,那就需要先重构现有的代码结构。 重构之前,首先检查自己是否有一套可靠的测试机制。这些测试必须有自我检验能力。 重构技术就是以微小的步伐修改程序。如果你放下错误,很容易便可以发现它。 第二章重构的时机: ..

2021-08-13 11:48:43 223

翻译 iOS调试神器--FLEX

FLEX (Flipboard Explorer) 是一系列集成在APP内部的用于iOS调试的工具集,以工具栏的形式显示在应用中,通过它,可以查看并修改几乎所有的APP运行状态。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g3gyNkjz-1598274646340)(https://user-images.githubusercontent.com/8371943/70185687-e842c800-16af-11ea-8ef9-9e071380a462.gif)]强

2020-08-24 21:11:24 3627 1

原创 矩阵快速幂 —— 商汤笔试第三题

题目描述,如果没有 这样的限制的话,这题属于一个 easy 的一道题。先根据公式计算出对应的矩阵然后就是矩阵快速幂的套路了,在这里总结一下,后面可以算的快一些#include <bits\stdc++.h>using namespace std;typedef long long ll;typedef vector<ll> vec;typ...

2019-08-20 15:29:07 294

原创 C++ 中,二分查找的 API, lower_bound 和 upper_bound 的用法

总是记混这两个查找方法,今天写篇博客 MARK 一下。lower_bound 查找的为 第一个大于等于当前查找数的位置;upper_bound 查找的为 第一个严格大于当前查找数的位置。若查找元素不存在,则两个方法返回同样的位置。#include <bits\stdc++.h>using namespace std;int main(){ vec...

2019-07-30 12:32:08 670

原创 并查集,实现简单,功能强大

并查集中,只需要实现最简单的 getFather(Node) 以及 unionNode(Node, Node) 就能使用了。在处理是否联通问题里面,特别好用,写一下基本实现过程, MARK 一下主要有一个 faMap 来存储每个节点的父节点,可以为哈希表,也可以为 vector在节点为 int 型,并且元素范围固定的情况下,vector 更高效sizeMap 同理,存储每个...

2019-07-28 10:06:32 258 1

原创 C++ 实现 LRU 缓存机制,以及 采用模板的 LRU

LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。LeetCode 原题链接思路,主要涉及到查找和更新,采用双向链表加 unordered_map 可以把时间复杂度降为 O(1)其中,双向链表可以自己实现,也可以采用 STL 中的 list ,其中 list 里面有封装好的实现,可以精简代码自己实现,...

2019-07-25 16:00:26 1433 4

原创 【剑指 Offer】N个骰子的点数问题 题解再优化 C++ 代码优乐美

话不多说,先放代码#include<iostream>#include<vector>#include<math.h>#include<algorithm>#include<numeric> // for accumulateusing namespace std;int main(){ int n; ...

2019-06-07 10:03:44 224

原创 The split in C++ C++ 中 split 函数的三种实现方式及对比

第一种,较为全能的实现方式, strtok 实现,其中也借助了 strcpy 所以要包含头文件 <cstring> ,代码如下vector<string> split(string& str, string& delim){ vector<string> arr; // strtok 实现 if(str == ...

2019-05-26 10:00:19 510 2

原创 LeetCode 115. 不同的子序列 从暴力递归到动态规划,从动态规划到优化

在 LeetCode 上刷题刷到了一道 Hard 的题 115. 不同的子序列 ,用暴力递归的话,逻辑其实很好写,就是复杂度太高,测试用例复杂一些就直接GG,我就采用了牛客左程云左神的思想,将暴力递归改成动态规划,并通过评论区大神的思路将正向的动态规划进行优化变成逆向的动态规划。记录一下,进一步加深对动态规划的理解。---------------------------------------...

2019-05-07 11:22:26 442 1

原创 extern "C" 用法 以及编译过程

extern "C" 主要用来C++ 文件和C 语言文件的互相调用建立3个文件 cExample.h 头文件#ifndef C_EXAMPLE_H#define C_EXAMPLE_Hextern int add(int x, int y);#endifcExample.c 文件#include "cExample.h"int add(int x, int ...

2019-04-29 19:25:32 353

原创 sublime左侧文件夹目录不显示exe文件等

首选项 —&gt; 设置找到 file_exclude_patterns,删除你想显示的文件名后缀或者直接通过 // 注释,Ctrl + S即可

2019-03-09 11:05:19 1744 2

原创 基于OSM环境安装openvim

官方文档有着各种坑,记录一下安装openvim还是挺顺利的,但是死活进不去第二步,也就是安装floodlight,具体应该把当前目录该为 /opt或者运行命令 sudo /opt/openvim/scripts/install-floodlight.sh来代替第一个安装完floodlight后,应该通过进入floodlight所在目录来进行运行,/opt/openvim/...

2019-02-27 15:26:26 424 1

原创 ubuntu下更新liblxc1

我在安装osm的过程中遇到了这样的错误The following packages have unmet dependencies. lxd : Depends: liblxc1 (&gt;= 2.0.0~) but 1.0.10-0ubuntu1.1 is to be installedE: Unable to correct problems, you have held broke...

2019-02-17 20:35:39 407

原创 马拉车算法

求一个字符串中的最长回文字符串的经典算法精髓:把之前匹配过的字符串放到后面再用,不用做很多重复工作string longestPalindrome(string s) { if(s.length()&lt;2)return s; // 改造字符串 string str = "#"; for(auto &amp;it:s)str = str+it+"#";...

2018-12-13 21:06:01 351 1

原创 Linux下安装docker-machine

由于水平有限,官网上的安装教程没有执行出来,就是下图我采用的是简书上 bboysoul的方法1.首先下载二进制文件wget https://github.com/docker/machine/releases/download/v0.14.0/docker-machine-Linux-x86_642.修改可执行权限chmod +x docker-machine-Linu...

2018-11-19 10:53:27 2043 2

原创 Git 删除带有空格的文件夹

在空格前后加双引号git rm LG/The" "algorithm" "of" "search" "table/README.MDrm 'LG/The algorithm of search table/README.MD'

2018-11-11 19:17:55 781

原创 Office Word 2016 中Word自带公式编辑器编辑的公式转Mathtype出现omml2mml.xsl 问题的解决方法

在网上各种百度全是在安装目录下找到omml2mml.xsl拷贝到另一个文件夹的解决方法,然而对于WORD 2016毫无作用解决方法1. 找到word的安装目录 默认路径 C:\Program Files (x86)\Microsoft Office\Office1664位操作系统是 C:\Program Files\Microsoft Office\Office162. 在安装目录里面找到WINW...

2018-06-10 12:00:50 22504 17

原创 IP如何查看IP地址是否冲突

2018-04-14 16:46:57 11372 1

原创 NEUOJ Problem696 C谭浩强-10.3

问题描述输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。Input10个整数Output整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)Sample Input2 1 3 4 5 6 7 8 10 9Sample Output1 2 3 4 5 6 7 8 9 10#include&lt;iostre...

2018-04-06 08:47:56 375

原创 屏蔽广告丨Chrome插件之uBlock Plus Adblocker

Chrome中有许多功能强大的插件,今天就给大家分享一款屏蔽广告的插件——uBlock Plus Adblocker展示效果如图。1. 首先在Chrome 应用商店搜索uBlock Plus Adblocker,下载安装即可2.在百度网页右键这个图标,选择屏蔽元素3.通过移动鼠标选中你想要屏蔽的栏目,如下图,在右下角点击创建即可。4. 刷新网页,大功告成。...

2018-03-29 09:01:52 3194

原创 从论文pdf中复制粘贴文字时,空格变成回车的解决方法

1.使用Word,网上有很多教程,不再赘述。2.使用Sublime,复制完,Ctrl+H 快捷键打开替换。如图在Find一栏输入 \n ,并且打开Regular Expression(最左边),在Replace中敲一个空格。最后选择Replace All即可。...

2018-03-28 16:25:21 4712

转载 MAC下Linux虚拟机联网问题

查看原文1.设置虚拟机网格为  NAT模式2.在Mac系统里打开终端(快捷键:Ctrl+Alt+T),输入ifconfig,查看Mac机的ip3. 进入虚拟机设置网络,手动配置IPv4,xxx.xxx.xxx.2是固定的路由及DNS的ip4.关闭网络再打开即可访问外网5.结果

2018-01-16 10:53:30 5271

空空如也

空空如也

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

TA关注的人

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