- 博客(98)
- 收藏
- 关注
原创 二叉树的最小深度
每日一题ing,今天是个easy题111. Minimum Depth of Binary Treeclass Solution {public: vector<vector<string>> solveNQueens(int n) { vector<string> board(n,string(n,'.')); vector<vector<string>> ret; backtrack(
2022-03-29 15:34:56
118
原创 N皇后问题
每日一题ing,今天是个hard题51. N-Queensclass Solution {public: vector<vector<string>> solveNQueens(int n) { vector<string> board(n,string(n,'.')); vector<vector<string>> ret; backtrack(ret,board,0);
2022-03-29 14:58:23
345
原创 最长递增子序列
每日一题ing,今天是个medium题300. Longest Increasing Subsequenceclass Solution {public: vector<vector<int>> permute(vector<int>& nums) { int len=nums.size(); vector<vector<int>> ret; dfs(nums,ret,0,len)
2022-03-20 15:15:16
113
原创 找零钱问题
每日一题ing,今天是个medium题322. Coin Changeclass Solution {public: vector<vector<int>> permute(vector<int>& nums) { int len=nums.size(); vector<vector<int>> ret; dfs(nums,ret,0,len); return re
2022-03-19 22:00:20
295
原创 回溯之全排列
每日一题ing,今天是个medium题46. Permutationsclass Solution {public: vector<vector<int>> permute(vector<int>& nums) { int len=nums.size(); vector<vector<int>> ret; dfs(nums,ret,0,len); return re
2022-02-20 23:02:04
405
原创 太平洋大西洋水流问题
每日一题ing,今天是个medium题417. Pacific Atlantic Water Flowclass Solution {public: int findCircleNum(vector<vector<int>>& isConnected) { int len=isConnected.size(),circle=0; vector<int> visit; for(int i=0;i<le
2022-02-18 17:15:38
72
原创 dfs之省份数量
每日一题ing,今天是个medium题547. Number of Provincesclass Solution {public: int findCircleNum(vector<vector<int>>& isConnected) { int len=isConnected.size(),circle=0; vector<int> visit; for(int i=0;i<len;i++){
2022-02-17 00:53:53
195
原创 搜索之岛屿的最大面积
每日一题ing,今天是个medium题695. Max Area of Islandclass Solution {public: int maxAreaOfIsland(vector<vector<int>>& grid) { int ret=0; for(int i=0;i<grid.size();i++){ for(int j=0;j<grid[i].size();j++){
2022-02-15 23:53:33
232
原创 排序之颜色分类
每日一题ing,今天是个medium题75. Sort Colorsclass Solution {public: void sortColors(vector<int>& nums) { int len=nums.size(); if(len<=1){ return; } int i=0; int zero=0,two=len-1; while(i&
2022-02-15 15:10:56
121
原创 排序之根据字符出现频率排序
每日一题ing,今天是个medium题451. Sort Characters By Frequencyclass Solution {public: string frequencySort(string s) { unordered_map<char, int> umap; for (int i = 0; i < s.size(); i++) { umap[s[i]]++; } priority_queue<pair<int, char>&
2022-02-14 23:10:05
365
原创 排序之前 K 个高频元素
每日一题ing,今天是个medium题347. Top K Frequent Elementsclass Solution {public: vector<int> topKFrequent(vector<int>& nums, int k) { unordered_map<int,int> umap; for(int i=0;i<nums.size();i++){ umap[nums[i]
2022-02-14 20:20:45
7392
原创 排序之数组中的第K个最大元素
每日一题ing,今天是个medium题215. Kth Largest Element in an Arrayclass Solution {public: int findKthLargest(vector<int>& nums, int k) { int len = nums.size(); int low = 0, high = len - 1,index; while (true) { index=partition(nums,low,h
2022-02-13 11:26:49
353
原创 二分法之寻找单一元素
每日一题ing,今天是个medium题540. Single Element in a Sorted Arrayclass Solution {public: int singleNonDuplicate(vector<int>& nums) { int l=0,r=nums.size()-1; while(l<r){ int mid=(l+r)/2; if(mid%2==1){
2022-02-10 10:31:46
271
原创 二分法之寻找俩数组中位数
每日一题ing,今天是个hard题4. Median of Two Sorted Arrays方法一:归并两个数组,时间复杂度O(m+n),空间复杂度O(m+n)class Solution {public: int findMin(vector<int>& nums) { int l=0,r=nums.size()-1,min=nums[0]; while(l<=r){ int mid=(l+r)/2;
2022-02-10 00:49:06
175
原创 二分法之旋转数组(2)
每日一题ing,今天是个hard题154. Find Minimum in Rotated Sorted Array IIclass Solution {public: int findMin(vector<int>& nums) { int l=0,r=nums.size()-1,min=nums[0]; while(l<=r){ int mid=(l+r)/2; if(nums[mid]
2022-02-09 14:52:34
317
原创 二分法之旋转数组(1)
每日一题ing,今天是个medium题81. Search in Rotated Sorted Array IIclass Solution {public: bool search(vector<int>& nums, int target) { int len=nums.size(); if(len==0){ return false; } int l=0,r=len-1;
2022-02-07 11:43:12
292
原创 二分法之找位置
每日一题ing,今天是个easy题34. Find First and Last Position of Element in Sorted Arrayclass Solution {public: vector<int> searchRange(vector<int>& nums, int target) { int l=0,r=nums.size()-1,mid=0; while(l<=r){ mi
2022-02-04 19:50:10
5422
原创 二分法之求整数开方
每日一题ing,今天是个easy题69. Sqrt(x)解法一(暴力法):class Solution {public: int mySqrt(int x) { for(int i=1;i<=x/2+1;i++){ if(i<=x/i&&(i+1)>x/(i+1)){ return i; } } return 0; }};
2022-02-04 11:29:03
472
原创 双指针之字母匹配
每日一题ing,今天是个easy题524. Longest Word in Dictionary through Deletingclass Solution {public: static bool cmp(string s1, string s2) { if (s1.size() == s2.size()){ return s1<s2; } return s1.size() > s2.size(); } string f
2022-02-02 00:49:04
594
原创 双指针之回文串
每日一题ing,今天是个easy题680. Valid Palindrome IIclass Solution {public: static bool checkPalindrome(string s,int low,int high){ for(int i=low,j=high;i<j;i++,j--){ if(s[i]!=s[j]){ return false; } }
2022-01-30 23:39:56
308
原创 双指针之平方数之和
每日一题ing,今天是个medium题633. Sum of Square Numbersclass Solution {public: bool judgeSquareSum(int c) { long long i=0,j=sqrt(c); while(i<=j){ long long temp=i*i+j*j; if(temp==c){ return true;
2022-01-30 10:19:32
568
原创 双指针之最小覆盖子串
每日一题ing,今天是个hard题76. Minimum Window Substringclass Solution {public: string minWindow(string s, string t) { vector <int> num(128,0); vector <bool> flag(128,false); for(int i=0;i<t.length();i++){ fla
2022-01-29 23:49:19
435
原创 双指针之环形链表
每日一题ing,今天是个medium题142. Linked List Cycle II/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *detectCycle(L
2022-01-26 00:21:12
225
原创 双指针之原地合并俩数组
每日一题ing,今天是个easy题88. Merge Sorted Arrayclass Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int pos=nums1.size()-1; int i=m-1,j=n-1; while(i>=0&&j>=0
2022-01-25 21:21:11
86
原创 贪心之二维数组排序
每日一题ing,今天是个medium题406. 根据身高重建队列class Solution {public: static bool cmp(const vector<int> a, const vector<int> b) { if (a[0] == b[0]) return a[1] < b[1]; return a[0] > b[0]; } vector<vector<int>>
2022-01-23 23:26:59
384
原创 非递减数列
每日一题ing,今天是个medium题665. Non-decreasing Arrayclass Solution {public: bool checkPossibility(vector<int>& nums) { int len=nums.size(),count=0; if(len<=1){ return true; } for(int i=1;i<len;i++)
2022-01-23 14:46:27
240
原创 贪心之区间问题(5)
每日一题ing,今天是个medium题452. Minimum Number of Arrows to Burst Balloonsclass Solution {public: static bool cmp(vector<int>& a,vector<int>& b) { return a[1]<b[1]; } int findMinArrowShots(vector<vector<int&g
2022-01-22 15:23:13
380
原创 贪心之区间问题(4)
每日一题ing,今天是个medium题122. Best Time to Buy and Sell Stock IIclass Solution {public: int maxProfit(vector<int>& prices) { int i = 0, profit = 0; int n=prices.size(); for(int i=1;i<n;i++) { profit=profit+max(0,prices[
2022-01-19 22:12:53
488
原创 贪心之区间问题(3)
每日一题ing,今天是个medium题763. Partition Labelsclass Solution {public: int Max(int a,int b) { if(a>b) return a; else return b; } vector<int> partitionLabels(string s) { int min=0,mark
2022-01-17 20:58:11
322
原创 贪心之区间问题(2)
每日一题ing,今天是个easy题力扣605. Can Place Flowersclass Solution {public: bool canPlaceFlowers(vector<int>& flowerbed, int n) { int init=0,sum=0; flowerbed.push_back(0);//右边界不用考虑 for(int i=0;i<flowerbed.size();i++)
2022-01-17 11:08:43
236
原创 贪心之区间问题(1)
每日一题ing,今天是个medium题力扣435. Non-overlapping Intervalsclass Solution {public: int candy(vector<int>& ratings) { int min=0; vector<int> mark; for(int i=0;i<ratings.size();i++) { mark.push_bac
2022-01-16 21:36:52
255
原创 贪心之分配问题(2)
每日一题ing,今天是个hard题力扣135. Candyclass Solution {public: int candy(vector<int>& ratings) { int min=0; vector<int> mark; for(int i=0;i<ratings.size();i++) { mark.push_back(1); }
2022-01-16 19:28:28
77
原创 贪心之分配问题(1)
每日一题ing,今天是个简单题力扣455. Assign Cookiesclass Solution {public: int findContentChildren(vector<int>& g, vector<int>& s) { sort(g.begin(),g.end()); sort(s.begin(),s.end()); int child=0,cookie=0; while(ch
2022-01-16 00:22:44
1631
原创 有效的括号
每日一题ing,今天是个简单题力扣 20. Valid Parenthesesclass Solution {public: bool isValid(string s) { int stack[10010]; memset(stack,0,10010); int i=0,j=-1; while(i<s.length()&&j<10000) { if(s[i]=='
2022-01-16 00:20:45
122
原创 回文数(简单版)
每日一题ing,今天是个简单题力扣 20. Valid Parenthesesclass Solution {public: bool isValid(string s) { int stack[10010]; memset(stack,0,10010); int i=0,j=-1; while(i<s.length()&&j<10000) { if(s[i]=='
2022-01-07 00:34:44
215
原创 codeup最长回文子串
codeup最长回文子串#pragma warning(disable :4996)#include<iostream>#include<cstdlib>#include<cstdio>#include <stdio.h>#include<string> #include<vector>#include<algorithm>#include<map>using namespace std;
2020-11-22 19:20:00
144
原创 最长公共子序列
#pragma warning(disable :4996)#include<iostream>#include<cstdlib>#include<cstdio>#include <stdio.h>#include<string> #include<vector>#include<algorithm>#include<map>using namespace std;int main(){
2020-11-21 15:44:29
88
原创 输入两个字符串,输出最长相同子串
#pragma warning(disable :4996)#include<iostream>#include<cstdlib>#include<cstdio>#include <stdio.h>#include<string> #include<vector>#include<algorithm>#include<map>using namespace std;typedef long
2020-11-20 19:18:52
926
原创 PAT甲级1093 Count PAT‘s (25分)
注意取余的位置#pragma warning(disable :4996)#include<iostream>#include<cstdlib>#include<cstdio>#include <stdio.h>#include <string.h>#include<string> const int MOD = 1000000007;const int MAXN = 100010;using namespace s
2020-11-19 22:54:18
114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人