class Solution {
public:int lengthOfLongestSubstring(string s) {unordered_set<char>occ;//哈希集合,記錄每個字符是否出現過//右指針,初始指向左邊界左側int rk=-1,ans=0;//枚舉左指針的位置for(int i=0;i<s.size();i++){if(i!=0){//左指針向右移動一格,移除一個字符occ.erase(s[i-1]);}while(rk+1<s.size() && !occ.count(s[rk+1])){occ.insert(s[rk+1]);rk++;}ans=max(ans,rk-i+1);}return ans;}
};
太難了,因為rk指針一開始是指向左邊界的左邊,所以后面在使用的時候一直忘記rk+1
還有一種暴力法。。。。。。。。
class Solution {
public:double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {int m=nums1.size(),n=nums2.size(),k=0,j=0,i=0;vector<int>sub(m+n,0);while(i<m && j<n){sub[k++]=nums1[i]<nums2[j] ? nums1[i++]:nums2[j++];}while(i<m) sub[k++]=nums1[i++];while(j<n)sub[k++]=nums2[j++];return k%2 ? sub[k/2] : (sub[k/2]+sub[k/2-1]/2.0);}
};
leetcode 39、先歸并,在找中位數,類似于歸并排序,不過沒用用到兩個數組都是有序這個特點
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态