class Solution {
public:int pivotInteger(int n) {int s1=0,s2=0;for(int i=1;i<=n;i++){s1+=i;s2=0;for(int j=n;j>=i;j--)s2+=j;if(s1==s2){return i;}}return -1;}
};
class Solution {
public:int appendCharacters(string s, string t) {int idx=0;for(int i=0,j=0;iif(s[i]==t[j])j++;idx=j;}return t.size()-idx;}
};
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* removeNodes(ListNode* head) {auto p=head;vectorv;while(p){v.push_back(p->val);p=p->next;}reverse(v.begin(),v.end());vectorst(v.size()+1,false);int maxv=0;for(int i=0;iif(maxv<=v[i])maxv=v[i];else st[i]=true;}vectorres;for(int i=0;iListNode *p=new ListNode(res[i]);if(i==0)dummy->next=p,last=p;else last->next=p,last=p;}return dummy->next;}
};
哈希表统计!!这么简单我没写出来
class Solution {
public:int countSubarrays(vector& nums, int k) {int n=nums.size();int idx=0;vectors(n+1,0);for(int i=0;iif(nums[i]k)nums[i]=1;else{nums[i]=0;idx=i;}}mapmp;for(int i=idx;i>=0;i--){s[i]=s[i+1]+nums[i];mp[s[i]]++;}int res=0,s1=0;for(int i=idx;is1+=nums[i];int val=1-s1;if(mp.count(val))res+=mp[val];//偶数长度val=-s1;if(mp.count(val))res+=mp[val];//奇数长度}return res;}
};