12 2024 档案
摘要:class Solution { public: vector<int> inorderTraversal(TreeNode* root) { vector<int> result; stack<TreeNode*> st; if (root != NULL) st.push(root); whil
阅读全文
摘要://颜色染色法 class Solution { public: bool canFinish(int numCourses, vector<vector<int>>& prerequisites) { vector<vector<int>>g(numCourses); for(auto&q:pre
阅读全文
摘要:#include <iostream> using namespace std; // 快速幂(递归实现) long long fastPow(long long a, long long b) { if (b == 0) return 1; // 如果指数为0,任何数的0次方都为1 if (b %
阅读全文
摘要:class Solution { public: int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vector<int>& nums4) { unordered_map<long,int>map
阅读全文
摘要:1:https://leetcode.cn/problems/maximum-value-of-an-ordered-triplet-ii/description/ class Solution { public: long long maximumTripletValue(vector& nums
阅读全文
摘要:c语言常用语句: 1: while(getchar()!='\n'); //清除换行符(fgets必需) 2: int len =strlen(s); char ch=(char)malloc((len+1)*sizeof(char)); //开辟空间存储一段字符串(string.h) 3:fget
阅读全文
摘要:5 种 GCD方法 // 更相减损术 int gcd(int a, int b) { while (a != b) { if (a > b) { a -= b; } else { b -= a; } } return a; } // 递归版 int gcd(int a, int b) { retur
阅读全文
摘要:class Solution { public: int lower(vector& nums, int target){ int n=nums.size(); int left=0; int right=n-1; while(left<=right){ int mid=left+(right-le
阅读全文
摘要:class Solution { unordered_map<int,int>fa,rank; void init(unordered_set<int>&set){ for(const auto& num:set){ fa[num]=num; rank[num]=1; } } int finds(i
阅读全文
摘要:include include using namespace std; int binarySearchFirstOccurrence(vector& nums, int target) { int left = 0; int right = nums.size() - 1; int result
阅读全文
摘要:class Solution { public: vector<vector> permuteUnique(vector& nums) { int n=nums.size(); if(n==1) return {nums}; vector<vector>result; sort(nums.begin
阅读全文
摘要:class NumArray { public: vectorans; NumArray(vector& nums) { int n=nums.size(); ans.resize(n+1); int sum=0; for(int i=1;i<=n;i++) ans[i]=ans[i-1]+nums
阅读全文
摘要:include <stdio.h> int main() { int arr[6]={1,2,3,4,5,6}; // 定义一个包含 6 个整数的数组 arr,并进行初始化。 int len=sizeof(arr)/sizeof(arr[0]); // 计算数组 arr 的长度,sizeof(arr
阅读全文
摘要:include<bits/stdc++.h> using namespace std; int two_k(int left,int right,vector&arr,int m){ if(left>right) return right; int mid=left+(right-left)/2;
阅读全文
摘要:include <bits/stdc++.h> using namespace std; // 二分查找函数,用于查找最大最小跳跃距离 int two_k(int left, int right, const vector& arr, int m) { if (left > right) retur
阅读全文
摘要:include <stdio.h> // 找到数组中出现次数超过一半的数字 int findMostFrequent(int* input, int length) { // 候选数字初始化为数组第一个元素 int candidate = input[0]; // 计数初始化为 1 int coun
阅读全文
摘要:#include #include using namespace std; int main() { int n=100; int count=0; vector isprime(n+1,true); vector prime; for(int i=2;i<=n;i++){ if(isprime[
阅读全文
摘要:class Solution { public: int find_str(int left,int right,string &s){ while(left>=0&&right<s.size()&&s[left]==s[right]){ left--; right++; } return righ
阅读全文