自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 深拷贝及浅拷贝

深拷贝及浅拷贝https://www.jianshu.com/p/35d69cf24f1f

2021-06-04 09:34:06 127

原创 const使用

指向const的指针不能用于改变值。int rate[5] = {1,2,3,4,5};const int * p = rate; // p指向数组的首地址p

2021-05-28 14:30:02 131

原创 IPv6 字符串转为网络序

#include<stdio.h>#include <WS2tcpip.h>#pragma comment(lib,"Ws2_32.lib")struct sockaddr_1in6{ int u6_usaddr[16];};struct stVppString { char *pcData; int ulLen;};int main(){ sockaddr_1in6 sa; stVppString stA.

2020-08-27 10:21:41 840

原创 138. 复制带随机指针的链表

给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深拷贝。我们用一个由n个节点组成的链表来表示输入/输出中的链表。每个节点用一个[val, random_index]表示:val:一个表示Node.val的整数。random_index:随机指针指向的节点索引(范围从0到n-1);如果不指向任何节点,则为...

2020-04-10 11:52:24 91

原创 853. 车队

N辆车沿着一条车道驶向位于target英里之外的共同目的地。每辆车i以恒定的速度speed[i](英里/小时),从初始位置position[i](英里) 沿车道驶向目的地。一辆车永远不会超过前面的另一辆车,但它可以追上去,并与前车以相同的速度紧接着行驶。此时,我们会忽略这两辆车之间的距离,也就是说,它们被假定处于相同的位置。车队是一些由行驶在相同位置、具有相同...

2020-04-10 11:50:30 104

原创 692. 前K个高频单词

给一非空的单词列表,返回前k个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。示例 1:输入: ["i", "love", "leetcode", "i", "love", "coding"], k = 2输出: ["i", "love"]解析: "i" 和 "love" 为出现次数最多的两个单词,均为2次。 ...

2020-04-10 11:48:01 118

原创 1090 危险品装箱

集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸。本题给定一张不相容物品的清单,需要你检查每一张集装箱货品清单,判断它们是否能装在同一只箱子里。输入格式:输入第一行给出两个正整数:N (≤104) 是成对的不相容物品的对数;M (≤100) 是集装箱货品清单的单数。随后数据分两大块给出。第一块有 N 行,每行给出一对...

2020-04-10 11:45:35 256

原创 373. 查找和最小的K对数字

给定两个以升序排列的整形数组 nums1 和 nums2, 以及一个整数 k。定义一对值(u,v),其中第一个元素来自nums1,第二个元素来自 nums2。找到和最小的 k 对数字(u1,v1), (u2,v2) ... (uk,vk)。示例 1:输入: nums1 = [1,7,11], nums2 = [2,4,6], k = 3输出: [1,2],[1,4],[1,...

2020-04-10 11:40:23 114

原创 451. 根据字符出现频率排序

给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:"tree"输出:"eert"解释:'e'出现两次,'r'和't'都只出现一次。因此'e'必须出现在'r'和't'之前。此外,"eetr"也是一个有效的答案。示例 2:输入:"cccaaa"输出:"cccaaa"解释:'c'和'a'都出现三次。此外,"aaaccc"也是有效的答案。...

2020-04-10 11:38:29 131

原创 429. N叉树的层序遍历

给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。例如,给定一个3叉树:返回其层序遍历:[ [1], [3,2,4], [5,6]]说明:树的深度不会超过1000。树的节点总数不会超过5000。/*// Definition for a Node.class Node {public...

2020-04-10 11:27:28 237

原创 378. 有序矩阵中第K小的元素

给定一个n x n矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。示例:matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15]],k = 8,返回 13。class Solution {public: int k...

2020-04-10 11:22:46 89

原创 41. 缺失的第一个正数

给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。示例1:输入: [1,2,0]输出: 3示例2:输入: [3,4,-1,1]输出: 2示例3:输入: [7,8,9,11,12]输出: 1class Solution {public: int firstMissingPositive(vector<int>& n...

2020-04-10 00:22:42 103

原创 316. 去除重复字母

给你一个仅包含小写字母的字符串,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证返回结果的字典序最小(要求不能打乱其他字符的相对位置)。示例 1:输入: "bcabc"输出: "abc"示例 2:输入: "cbacdcbc"输出: "acdb"class Solution {public: string removeDuplicateLetters(st...

2020-04-10 00:17:53 170

原创 4. 寻找两个有序数组的中位数

给定两个大小为 m 和 n 的有序数组nums1和nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。你可以假设nums1和nums2不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]...

2020-04-09 23:51:09 71

原创 76. 最小覆盖子串

给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。示例:输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC"说明:如果 S 中不存这样的子串,则返回空字符串 ""。如果 S 中存在这样的子串,我们保证它是唯一的答案。class Solution {public: string minWi...

2020-04-09 23:41:38 88

原创 30. 串联所有单词的子串

给定一个字符串s和一些长度相同的单词words。找出 s 中恰好可以由words 中所有单词串联形成的子串的起始位置。注意子串要与words 中的单词完全匹配,中间不能有其他字符,但不需要考虑words中单词串联的顺序。示例 1:输入: s = "barfoothefoobarman", words = ["foo","bar"]输出:[0,9]解释:从索引...

2020-04-09 23:28:33 84

原创 287. 寻找重复数

给定一个包含n + 1 个整数的数组nums,其数字都在 1 到 n之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。只能使用额外的 O(1) 的空间。时间复杂度小于 O(n2)...

2020-04-09 21:56:26 78

原创 153/154. 寻找旋转排序数组中的最小值 II

154 假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组[0,1,2,4,5,6,7] 可能变为[4,5,6,7,0,1,2])。请找出其中最小的元素。注意数组中可能存在重复的元素。示例 1:输入: [1,3,5]输出: 1示例2:输入: [2,2,2,0,1]输出: 0class Solution {public: int...

2020-04-09 21:50:39 75

原创 322. 零钱兑换

给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。示例1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1clas...

2020-04-09 21:36:41 68

原创 49. 字母异位词分组

给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。不考虑答案输出的顺序。class Solutio...

2020-04-09 21:33:52 64

原创 16. 最接近的三数之和

给定一个包括n 个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).class Solution {pu...

2020-04-09 21:29:24 69

原创 152. 乘积最大子数组

给你一个整数数组 nums,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字)。示例 1:输入: [2,3,-2,4]输出: 6解释:子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释:结果不能为 2, 因为 [-2,-1] 不是子数组。class Solution {public: int maxPro...

2020-04-09 21:27:49 57

原创 leetcode 刷题

/*46.全排列给定一个没有重复数字的序列,返回其所有可能的全排列。回溯大法!!*/void dfs(vector<int>& nums, int curSize,vector<vector<int>>& res, vector<int> &vec, map<int, int>& visited){...

2019-12-20 11:40:50 68

原创 友元函数

//友元函数:可以访问类的私有数据成员和私有函数。   友元函数声明有friend,但定义不需要。#include &lt;iostream&gt;#include &lt;cstring&gt;using namespace std;class persion{public: persion(char *pn); //友元函数; friend voi...

2018-05-18 16:18:24 934

原创 const和mutable

#pragma once#include &lt;iostream&gt;class constmutable{public: int a; int b; int c; const int d=0;//常量是必须存在初始化 mutable int e;//限定了不被const所限制public: void setabc(int a, int b, int c) { th...

2018-05-18 11:44:35 198

原创 内联函数

#pragma once //头文件 fushu.h#include &lt;iostream&gt;class fushu{public: int x; int y;public: fushu(); ~fushu(); void show(); inline void showall(int x, int y);//显式内联 void setxy(int ...

2018-05-18 11:08:01 299

原创 深拷贝与浅拷贝

#define _CRT_SECURE_NO_WARNINGS //两种构造函数#include &lt;iostream&gt;#include&lt;string&gt;class string{public: char *p; int length; string(int num,char *str) { //获取长度,分配内存,拷贝内容 length =...

2018-05-17 22:25:22 122

原创 类的构造函数与析构函数

类的构造函数与析构函数#include&lt;iostream&gt;//所有的类默认都有一个构造函数,析构函数//构造函数,重载,//没有返回值,class myclass{public:int num;public:myclass()// :num(4)初始化第一种方式{//num = 10;初始化第二种方式std::cout &lt;&lt; "class create";}myclass...

2018-05-17 21:30:44 367

原创 去掉转义字符

#include &lt;iostream&gt;#include&lt;string&gt;#include&lt;stdlib.h&gt;void main(){ std::string path =R"( "E:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe")"; //R"()" 括号之间去掉转义字符 sys..

2018-05-17 17:37:50 2431

原创

面向对象编程的程序基本单位是类。类是数据和操作数据的函数的封装。类的对象使用自己的方法完成对数据的操作。类可以隐藏数据和操作细节,对象通过类接口与外部通讯。...

2018-05-17 16:36:20 120

原创 静态断言

#include &lt;stdio.h&gt;#include&lt;assert.h&gt;#include&lt;iostream&gt;//断言:迅速找到using namespace std;#define N 10void main1(){ int num = 100; cout &lt;&lt; num &lt;&lt; endl; cout &lt;&l...

2018-05-16 18:05:42 203

原创 C++多线程

C11中采用thread实现多线程#include &lt;thread&gt;#include&lt;iostream&gt;#include&lt;windows.h&gt;#include&lt;vector&gt;//join主要是让主线程等待直到子线程执行结束。using namespace std;using namespace std::this_thread;vo...

2018-05-16 17:40:52 129

原创 智能指针

#include &lt;iostream&gt;//智能指针:存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露void main1(){ //auto_ptr; for (int i = 0; i &lt; 10000000; i++) { double *p = new double;//为指针分配内存 std:...

2018-05-16 16:49:49 121

原创 模板元编程

模板元编程:游戏开发中实现递归,使得编译时期长,运行速度快。#include&lt;iostream&gt;//模板元吧运行时消耗的时间,在编译期间优化template&lt;int N&gt;struct data{ enum {res =data&lt;N-1&gt;::res+data&lt;N-2&gt;::res};};template&lt;&gt;struct d...

2018-05-15 09:58:42 175

原创 CPP别名 using

https://www.cnblogs.com/yutongqing/p/6794652.htmltypedef和using在定义别名时的区别template &lt;typename T&gt;typedef std::vector&lt;T&gt; v;//使用typedeftemplate &lt;typename T&gt;using v = std::vector&lt;T&g...

2018-05-14 22:42:28 1359

原创 内部函数绑定 bind()

#include&lt;iostream&gt;#include&lt;functional&gt;//处理函数using namespace std;using namespace std::placeholders;//仿函数,创建一个函数指针,引用一个结构体内部或者一个类内部的公有函数struct MyStruct{ void add(int a) { cout &...

2018-05-14 22:07:32 301

原创 引用包装器

#include&lt;iostream&gt; template&lt;class T&gt;void com(T arg)//模板函数,引用无效,引用包装器{ std::cout &lt;&lt;"com ="&lt;&lt; &amp;arg &lt;&lt; "\n"; arg++;}void main(){ int count = 10; in

2018-05-14 21:38:06 130

原创 模板函数与普通函数的选择问题

#include &lt;iostream&gt;//函数模板可以对类型进行优化重载,根据类型会覆盖//如果仍然要使用模板函数,需要实例化template&lt;class T&gt;T add(T a,T b){ std::cout &lt;&lt; " T add" &lt;&lt; std::endl; return a + b;}//根据调用类型,优先选择普通函数i...

2018-05-14 11:51:14 187

原创 函数模板重载

#include&lt;iostream&gt;#include&lt;array&gt;using std::array;template&lt;typename T&gt;void showarray(array&lt;T,10&gt; myarray,int n){ using namespace std; cout &lt;&lt; "TTTTT" &lt;&lt;

2018-05-14 11:42:53 115

原创 new的高级用法

#include&lt;iostream&gt;#include&lt;new&gt;const int buf(512);//限定一个常量整数512int N(5);//数组的长度char buffer[buf] = {0};//静态区//p1,p3,p5作为指针变量在栈区,存储的地址指向堆区 易发生内存泄漏//手动释放内存//p2,p4,p6作为指针变量在栈区,存储的地址在静...

2018-05-11 17:45:53 443

C 题库汇总 (1).xls

原创 静态断言 #include &lt;stdio.h&gt; #include&lt;assert.h&gt; #include&lt;iostream&gt; //断言:迅速找到 using namespace std; #define N 10 voi... 2018-05-16 18:05:42 阅读数 87 评论数 0 原创 C++多线程 C11中采用thread实现多线程#include &lt;thread&gt; #include&lt;iostream&gt; #include&lt;windows.h&gt; #include&lt;vector&gt; /... 2018-05-16 17:40:52 阅读数 35 评论数 0 原创 智能指针

2020-03-26

C 题库汇总.xls

leetcode 刷题 /*46.全排列给定一个没有重复数字的序列,返回其所有可能的全排列。回溯大法!!*/void dfs(vector&lt;int&gt;&amp; nums, int curSize,vector&lt;vector&lt;int&gt;&gt;&amp; res, vector&lt;int&gt; &amp;vec, map&lt;int, int&gt;&amp; visited){... 9次阅读2019-12-20 11:40:50 友元函数 //友元函数:可以访问类的私有数据成员和私有函数。 友元函数声明有friend,但定义不需要。#include &amp;lt;iostream&amp;gt;#include &amp;lt;cstring&amp;gt;using namespace std;class persion{public: persion(char *pn); //友元函数; friend voi... 736次阅读2018-05-18 16:18:24

2020-03-26

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

TA关注的人

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