自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STL中bitset的使用

STL特殊容器之bitset需要 #include<bitset>声明bitset<32>bitvec(0xffff) // 长度为32的向量对象

2020-08-31 17:17:15 239

原创 笔试题汇总复习

8.8 网易笔试8.8网易笔试2

2020-08-10 17:17:18 151

原创 刷题总结

马戏团人塔俄罗斯套娃信封问题这两道题的解题思路是完全一样的都是基于最长上升子序列这道题。最长上升子序列思路:从头开始遍历,每遍历到一个数都计算以这个数结尾的子序列中最长上升子序列的长度。int lengthOfLIS(vector<int>& nums) { int n=(int)nums.size(); if (n == 0) return 0; vector<int> dp(n, 0); fo

2020-08-10 16:40:22 130

原创 并查集

并查集详解(超级简单有趣~~就学会了)LeetCode Union-Find(并查集) 专题(一)并查集主要涉及到两种操作,合并和查找。实现一个并查集的时候首先要考虑的就是存储结构,一般情况下有两种:数组和链表。现在我们使用数组来实现一下。...

2020-08-07 15:51:04 109

原创 排序算法C++

1.插入排序:vector<int> sortArray(vector<int>& nums) { if(nums.size()==1)return nums; int len=nums.size(); for(int i=1;i<len;++i){ int temp=nums[...

2020-03-25 16:18:14 84

原创 矩阵中的路径(回溯法)

请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径。[[“a”,“b”,“c”,“e”],[“s”,“f”,“c”,“s”],[“a”,“d”,“e”,“e”]]但矩阵...

2020-02-24 22:20:29 228

原创 leetcode.367 (有效的完全平方数) (牛顿迭代法)

给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。说明:不要使用任何内置的库函数,如 sqrt。示例 1:输入:16输出:True示例 2:输入:14输出:False牛顿迭代法+二分查找法方法一:类似二分查找方法代码如下:从temp= num/2 开始,如果temp^2 > num 就让 temp/2;如果...

2020-02-05 18:08:10 332

原创 leetcode. 142 环形链表II

寻找环入口,寻找共同尾部,一般都是使用双指针。先判断有没有环:一个快指针,一个慢指针,如果二者可以相遇,则有环。当有环的时候,参考环形链表——双指针法设链表共有 a+b 个节点,其中 链表头部到链表入口 有 a 个节点(不计链表入口节点), 链表环 有 b 个节点;设两指针分别走了 fast,slow 步fast 走的步数是slow步数的 2 倍,即 f = 2s;fast 比 sl...

2020-01-30 13:35:42 74

原创 操作符重载

重载操作符的定义:返回类型 operator 操作符(参数列表);不可重载的操作符::: . .* ?: //四种重载操作符的使用:举例如下:如果没有重载操作符,是不能直接判断str1==str2的。重载操作符可以使代码更简洁。class String { friend bool operator==(String &str1, String &st...

2020-01-10 11:04:46 79

原创 多态和虚函数

函数多态就相当于函数的重载。在调用函数时,一个函数名可以接受不同的参数列表,执行不同的代码,所以具有多态性。动态多态:程序运行时的多态,主要是就 对象 而言的。但C++中实现多态不能直接用对象,而是用指向对象的指针或引用。将基类指针转换为派生类指针就是向下转换,如:Drerived *D=static_cast<Base*>(*B);当基类中的函数不能满足派生类的特殊性,...

2020-01-02 16:36:35 127

原创 拷贝构造函数的调用

参考如下文章:拷贝构造函数什么时候调用?补充:当一个函数中形参和返回值都是对象,理论上应该调用两次拷贝构造函数,但是实际上只调用了一次。编译器为了提高效率把这两次合并了。如:#include<iostream>#include<string>#include<vector>using namespace std;class B{private...

2019-12-27 13:34:07 137

原创 c++析构函数、虚析构函数、纯虚析构函数、构造函数不能为虚函数

c++析构函数、虚析构函数、纯虚析构函数详解

2019-12-27 10:50:37 246

转载 C++静态成员变量与静态成员函数

https://blog.csdn.net/Gorgeous_mj/article/details/90578873

2019-12-25 10:59:00 67

转载 VVC/HEVC/SHVC相关资料下载

软件下载SHVC参考平台SHM下载地址:https://hevc.hhi.fraunhofer.de/svn/svn_SHVCSoftware/VVC参考平台VTM下载地址:https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTMVVC平台BMS下载地址:https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftw...

2019-12-22 14:41:35 413

原创 函数模板学习笔记

函数模板不是一个函数,不能直接使用,必须先实例化。函数模板是对逻辑功能相同但数据类型不同的一组函数的统一描述。让函数的类型也可以像变量一样改变。函数模板一般用于 想在同一个函数中处理不同的数据类型。这时可以将函数返回值和参数当成变量。就可以节约代码量,避免定义多余的重载函数。函数模板的定义:template<typename T1,int size>//类型参数T1,非类型参...

2019-11-27 22:42:11 140

原创 leetcode.658(找到 K 个最接近的元素) 二分查找+滑动窗口

题目:给定一个排序好的数组,两个整数 k 和 x,从数组中找到最靠近 x(两数之差最小)的 k 个数。返回的结果必须要是按升序排好的。如果有两个数与 x 的差值一样,优先选择数值较小的那个数。示例 1:输入: [1,2,3,4,5], k=4, x=3输出: [1,2,3,4]示例 2:输入: [1,2,3,4,5], k=4, x=-1输出: [1,2,3,4]方法一:常规解法...

2019-11-23 19:52:17 182

原创 面试宝典上vector的析构笔记

题目在书P105页#include <iostream>#include <cstdlib>#include <vector>using namespace std;class CDemo{public: CDemo():str(NULL){}; ~CDemo(){ if(str) delete[]str; }; char* str; }...

2019-11-19 10:32:49 556

原创 leetcode.703(数据流中第K大元素)

题目:设计一个找到数据流中第K大元素的类(class)。注意是排序后的第K大元素,不是第K个不同的元素。你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器,它包含数据流中的初始元素。每次调用 KthLargest.add,返回当前数据流中第K大的元素。示例:int k = 3;int[] arr = [4,5,8,2];KthLargest kthLa...

2019-11-12 21:27:36 92

原创 leetcode.220(存在重复元素III)

题目:给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得 nums [i] 和 nums [j] 的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值最大为 ķ。示例 1:输入: nums = [1,2,3,1], k = 3, t = 0输出: true示例 2:输入: nums = [1,0,1,1], k = 1, t = 2输出: true示例 3:...

2019-11-10 17:10:03 116

原创 leetcode.116.117(填充每个节点的下一个右侧节点指针I II)

题目描述:给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node {int val;Node *left;Node *right;Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 N...

2019-11-01 13:56:21 95

原创 C++生成二叉树VS调试示例 leetcode.297(二叉树的序列化和反序列化)

在写LeetCode题时,有时候会遇到一些问题,想要逐步了解一下输出结果。这个时候就要在VS里面进行调试了。这里主要记录的是在VS里生成一个二叉树。然后就可以进行相应的调试了字符串生成二叉树:这个方法主要借鉴下面这篇文章:leetcode小函数, 根据字符串生成二叉树//输入字符串 [1,2,3,4,5]#include<vector>#include <io...

2019-10-29 19:23:23 546 1

原创 LeetCode.105,106,889(前序,中序,后序构造二叉树) (递归和非递归)

题目描述:根据树的三种遍历方式中任意两种方式的组合(前序,中序,后序)进行二叉树的构造。方法一:递归答题模板:class Solution {public: TreeNode* creattree(vector<int>&xxx,vector<int>&yyy,int left1,int right1,int left2,int right...

2019-10-26 17:26:52 97

原创 不同遍历顺序构造二叉树

题目如下:106.从中序和后序遍历构造二叉树方法一:使用递归 使用迭代器,通过数组的索引来确定根节点的位置。进一步将数分治到其左右子树继续递归。class Solution {public: TreeNode* creattree(vector<int>::iterator left1,vector<int>::iterator right1,vector&...

2019-10-08 13:42:30 130

原创 leetcode.347 (前k个高频元素) (map排序)(优先队列)

给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]说明:你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。你的算法的时间复杂度必须优于 O(n log n) , n 是数组的大小。方法一...

2019-09-29 15:42:55 332

原创 leetcode.36(有效的数独)

判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。说明:一个有效的数独(部分已被填充)不一定是可解的。只需要根据以上规则,验证已经填入的数字是否有效即可。给定数独序列只包含数字 1-9 和字符 ‘.’ 。给定数独...

2019-09-27 10:57:20 46

原创 leetcode.101(对称二叉树)

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:说明:如果你可以运用递归和迭代两种方法解决这个问题,会很加分。方法一:自己写的垃圾代码,算是迭代吧先记录一下我对于这道题深深的怨念,明明是一道简单题,却搞了我一晚上,搞到我妈和我男朋友一直催我回宿舍催到我反过来骂人。...

2019-09-24 23:27:30 68

原创 Leetcode. 119(杨辉三角II)

方法一:如果解了杨辉三角I,其实可以偷懒一下,就把其中要求的那一行返回就行了。但是这样比较浪费空间。class Solution {public: vector<int> getRow(int rowIndex) { vector<vector<int>>result(rowIndex+1); result[0]....

2019-09-05 20:34:02 76

原创 数组和字符串学习笔记

1. 计算数组中数据个数://普通数组int a[4]={1,2,3,4};int num1=sizeof(a);//此时算出的是数组中 数据类型的长度*数据个数 ,即 4(int)*4=16int num=sizeof(a)/sizeof(a[0]);//这个才是正确的数据个数//动态数组vector<int>b;int num=b.size();2. 数组...

2019-08-28 23:36:07 127

原创 leetcode. 498(对角线遍历)

给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。示例:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,4,7,5,3,6,8,9]方法一:每层的索引和相等:假设矩阵无限大;索引和为{偶}数,向上遍历,{横}索引值递减,遍历值依次是(x,0),...

2019-08-24 22:10:05 76

转载 Beyond Compare 4之授权密钥已被吊销

beyond compare4 是一个很好用的软件,但是从网上找到的注册码总是被吊销。这里转载一篇文章,记录一下出现注册码被吊销的情况时,一个有效的方法文章转自:Beyond Compare 4之授权密钥已被吊销https://www.cnblogs.com/huche123/p/11119051.html1.对应找到目录C:\Users\Abby\AppData\Roaming\Sco...

2019-08-14 09:38:26 3154

原创 leetcode. 739(每日温度)

根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的...

2019-07-20 13:14:54 90

原创 leetcode.752(打开转盘锁) BFS

你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字: ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’ 。每个拨轮可以自由旋转:例如把 ‘9’ 变为 ‘0’,‘0’ 变为 ‘9’ 。每次旋转都只能旋转一个拨轮的一位数字。锁的初始数字为 ‘0000’ ,一个代表四个拨轮的数字的字符串。列表 deadends 包含了一组死亡数字,一旦拨轮的数...

2019-07-18 17:36:58 125

原创 队列和栈学习笔记

参考博客浅谈算法和数据结构——栈和队列队列:先入先出栈:后入先出队列的实现:

2019-07-09 23:27:49 113

原创 Leetcode. 454(四数相加II)

**给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 228 - 1 之间,最终结果不会超过 231 - 1 。例如:输入:A = [ 1, ...

2019-06-25 20:41:11 94

原创 Leetcode. 49(字母异位词分组)

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

2019-06-18 09:26:53 84

原创 Leetcode. 350 (两个数组的交集II)

给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。我们可以不考虑输出结果的顺序。进阶:如果给定的数组已经...

2019-06-06 13:31:31 63

原创 Leetcode. 387(字符串中第一个唯一字符)

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。案例:s = “leetcode”返回 0.s = “loveleetcode”,返回 2.注意事项:您可以假定该字符串只包含小写字母。方法一:hashmap先把字符串做成对应的哈希表,然后再重新遍历字符串,如果哈希表中这个字符的值为1,那就返回这个字符的位置。代码如下:unordered_ma...

2019-05-04 17:17:10 89

原创 Leetcode. 599(两个列表的最小索引总和)

假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。示例 1:输入:[“Shogun”, “Tapioca Express”, “Burger King”, “KFC”][“Piatti”, “T...

2019-05-04 13:22:35 128

原创 Leetcode. 202(快乐数)

编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。示例:输入: 19输出: true解释:1^2 + 9^2 = 828^2 + 2^2 = 686^2 + 8^2 = 1001^2 + 0^2 ...

2019-05-02 10:29:13 77

原创 Leetcode .160(相交链表)

编写一个程序,找到两个单链表相交的起始节点。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个列表相交则不能为 0)。从各自的表头开始算...

2019-04-20 17:37:48 87

空空如也

空空如也

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

TA关注的人

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