#include<string> usingnamespace std; classSolution { public: intlengthOfLongestSubstring(string s){ int len = 0; while (!s.empty()) { bool flag = 0; for (int i = 0; i < s.length(); i++) { if (flag) break; for (int j = 0; j < i; j++) { if (s[i] == s[j]) { len = i > len ? i : len; s = s.substr(j + 1); flag = 1; break; } } } if (!flag) { len = s.length() > len ? s.length() : len; break; } } return len; } };
4、寻找两个正序数组的中位数
#include<vector> usingnamespace std; classSolution { public: doublefindMedianSortedArrays(vector<int> &nums1, vector<int> &nums2){ /*vector<int> nums3; int i = 0, j = 0; bool choose; while (i <= nums1.size() && j <= nums2.size()) if (i == nums1.size() || j == nums2.size()) break; else if (nums1[i] <= nums2[j]) nums3.push_back(nums1[i++]); else nums3.push_back(nums2[j++]); while (i < nums1.size()) nums3.push_back(nums1[i++]); while (j < nums2.size()) nums3.push_back(nums2[j++]); return nums3.size() % 2 ? (double)nums3[(nums3.size() - 1) / 2] : (double)(nums3[(nums3.size() - 1) / 2] + nums3[(nums3.size() + 1) / 2]) / 2;*/ // 2094/2094 cases passed (32 ms) // Your runtime beats 47.42 % of cpp submissions // Your memory usage beats 11.78 % of cpp submissions (87.7 MB) //!不符合时间复杂度要求( O(log (m+n)) ),不知道为什么过 /*int m = nums1.size(); int n = nums2.size(); int left = (m + n + 1) / 2; int right = (m + n + 2) / 2; return (findKth(nums1, 0, nums2, 0, left) + findKth(nums1, 0, nums2, 0, right)) / 2.0;*/ } /*int findKth(vector<int> &nums1, int i, vector<int> &nums2, int j, int k) { if (i >= nums1.size()) return nums2[j + k - 1]; // nums1为空数组 if (j >= nums2.size()) return nums1[i + k - 1]; // nums2为空数组 if (k == 1) { return min(nums1[i], nums2[j]); } int midVal1 = (i + k / 2 - 1 < nums1.size()) ? nums1[i + k / 2 - 1] : INT_MAX; int midVal2 = (j + k / 2 - 1 < nums2.size()) ? nums2[j + k / 2 - 1] : INT_MAX; if (midVal1 < midVal2) { return findKth(nums1, i + k / 2, nums2, j, k - k / 2); } else { return findKth(nums1, i, nums2, j + k / 2, k - k / 2); } }*/ // 2094/2094 cases passed (32 ms) // Your runtime beats 47.42 % of cpp submissions // Your memory usage beats 57.87 % of cpp submissions (86.9 MB) //!有空得再做一次==,做完这题彻底奠定了要由难到易刷题的决心,不要一口气吃成个胖子 };