自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++数据结构 有效的数独、矩阵置零

36. 有效的数独 - 力扣(LeetCode) (leetcode-cn.com)class Solution {public: bool isValidSudoku(vector<vector<char>>& board) { int row[9][9]; int line[9][9]; int box[9][9]; for (int i = 0; i < 9; i++) { for (int j =.

2021-12-12 16:31:57 670 1

原创 c++数据结构350、121

​​​​​​350. 两个数组的交集 II - 力扣(LeetCode) (leetcode-cn.com)class Solution {public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { vector<int>nums3; int n=0; sort(nums1.begin(),nums

2021-12-10 20:46:12 591 1

原创 c++数据结构217、53

217. 存在重复元素 - 力扣(LeetCode) (leetcode-cn.com)自己做的两种方法,一个是排序判断,一个是集合。class Solution {public: bool containsDuplicate(vector<int>& nums) { sort(nums.begin(),nums.end()); for(int i=0;i<nums.size()-1;i++) if(nums[i.

2021-12-08 16:41:33 687

原创 c++位运算190、136

190. 颠倒二进制位 - 力扣(LeetCode) (leetcode-cn.com)class Solution {public: uint32_t reverseBits(uint32_t n) { uint32_t ans=0; //进制的本质 int i=32; while(i--) { ans<<=1; ans+=n&1; .

2021-12-03 13:18:12 262

原创 c++231、191

231. 2 的幂 - 力扣(LeetCode) (leetcode-cn.com)class Solution {public: bool isPowerOfTwo(int n) { if (n==1)return true; if(n%2==1||n<=0)return false; while(n!=1) { n=n/2; if(n==0||abs(n)==1)return true;

2021-12-03 13:12:50 67

原创 c++动态规划70、198、120

70. 爬楼梯 - 力扣(LeetCode) (leetcode-cn.com)class Solution {public: int climbStairs(int n) { if(n<=2){ return n; } int i1=1; int i2=2; for(int i=3;i<=n;i++) { int temp=i1+i2.

2021-12-02 11:32:56 55

原创 c++回溯 77、46、784

今天学习了回溯的算法。先记录一下模板:void backtracking(参数) { if (终止条件) { 存放结果; return; } for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) { 处理节点; backtracking(路径,选择列表); // 递归 回溯,撤销处理结果 }}77. 组合 - 力扣(LeetCode) (leetcode-cn.c

2021-12-01 11:39:30 868

原创 c++leetcode21、206

21. 合并两个有序链表 - 力扣(LeetCode) (leetcode-cn.com)class Solution {public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if(l1==nullptr) return l2; if(l2==nullptr) return l1; ListNode*head; if (l1->val>l2-&gt

2021-11-30 11:57:38 356

原创 c++leetcode542,994

542. 01 矩阵 - 力扣(LeetCode) (leetcode-cn.com)今天的题有点小难,但是解法很多。DP解法:class Solution {public: vector<vector<int>> updateMatrix(vector<vector<int>>& mat) { int m=mat.size(),n=mat[0].size(); vector<vector.

2021-11-29 13:36:21 289

原创 c++leetcode617/116

https://leetcode-cn.com/problems/merge-two-binary-trees/最简单的递归解法, 对一个节点进行合并之后,对左右子节点分别进行合并。class Solution {public: TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) { if(!root1)return root2; if(!root2)return root1; Tr

2021-11-28 12:35:18 461

原创 c++深度优先搜索与广度优先搜索leetcode733\695

733. 图像渲染 - 力扣(LeetCode) (leetcode-cn.com)大佬这句话写的好好,引用一下!广度和深度的核心思想:广度:先把当前结点完全扩展开。深度:先跳到下一个结点广度优先算法就是给多个方向,向四周发散。 const int dx[4] = {-1, 0, 1, 0}; const int dy[4] = {0, -1, 0, 1}; vector<vector<int>> floodFill(vector<ve.

2021-11-27 18:35:35 375

原创 c++滑动窗口leetcode3\567

3. 无重复字符的最长子串 - 力扣(LeetCode) (leetcode-cn.com)写的不太好的一版,内存占用太多,时间太长。int lengthOfLongestSubstring(string s) { int n=0;int l=0; int p=0;int q=0;set<char> ss; while(q<s.size()&&p<s.size()){ .

2021-11-26 20:51:39 2532

原创 c++双指针876、19

876. 链表的中间结点 - 力扣(LeetCode) (leetcode-cn.com)两种思路,一种比较好想的是先遍历链表长度,然后长度除以2,再次遍历得到剩下的链表;另一种就是快慢指针,当快指针到了尾部,慢指针刚好到中间。class Solution {public: ListNode* middleNode(ListNode* head) { ListNode* p=head;ListNode* q=head; while(q!=nullptr&.

2021-11-25 11:14:47 340

原创 c++双指针leetcode344、557

344. 反转字符串 - 力扣(LeetCode) (leetcode-cn.com)class Solution {public: void reverseString(vector<char>& s) { int left=0,right=s.size()-1; while(left<=right) { char temp=s[left]; s[left]=s[rig

2021-11-24 13:26:50 624

原创 c++双指针leetcode283、167

283. 移动零 - 力扣(LeetCode) (leetcode-cn.com)class Solution {public: void moveZeroes(vector<int>& nums) { int i=0;int j=0; while(j<nums.size()) { if(nums[j]) { nums[i]=nums[j]

2021-11-23 13:42:48 444

原创 c++双指针(1)

977. 有序数组的平方 - 力扣(LeetCode) (leetcode-cn.com)class Solution {public: vector<int> sortedSquares(vector<int>& nums) { vector<int> r(nums.size(),0); int i=0,j=nums.size()-1; int k=j; while(i<=j.

2021-11-22 17:27:36 657

原创 c++二分查找(2)

278. 第一个错误的版本 - 力扣(LeetCode) (leetcode-cn.com)// The API isBadVersion is defined for you.// bool isBadVersion(int version);class Solution {public: int firstBadVersion(int n) { int left=1; int right=n; while(left<right.

2021-11-20 12:37:55 207 2

原创 c++二分查找

第一题704. 二分查找 - 力扣(LeetCode) (leetcode-cn.com)比较基础的题,基本上了解二分查找的原理,然后套用模板就能做出来。int search(vector<int>& nums, int target) { int left=0; int right=nums.size()-1; int ans=0; while(left<=right) { .

2021-11-19 14:39:57 470

空空如也

空空如也

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

TA关注的人

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