mirror of
https://github.com/Kiritow/OJ-Problems-Source.git
synced 2024-03-22 13:11:29 +08:00
Update 刷题.md
This commit is contained in:
parent
a6ee092cda
commit
8654ff9fe3
@ -22,73 +22,73 @@ update salary
|
|||||||
|
|
||||||
### 北河
|
### 北河
|
||||||
|
|
||||||
* 第一版 :392ms
|
* 第一版 :392ms
|
||||||
```c++
|
```c++
|
||||||
class Solution {
|
class Solution {
|
||||||
public:
|
public:
|
||||||
int lengthOfLongestSubstring(string s) {
|
int lengthOfLongestSubstring(string s) {
|
||||||
map<char, short> v;
|
map<char, short> v;
|
||||||
int max_num = 0;
|
int max_num = 0;
|
||||||
for (int i = 0; i < s.size(); ++i) {
|
for (int i = 0; i < s.size(); ++i) {
|
||||||
if (v.find(s[i]) != v.end()) {
|
if (v.find(s[i]) != v.end()) {
|
||||||
if (max_num < v.size()) {
|
|
||||||
max_num = v.size();
|
|
||||||
}
|
|
||||||
i = v.find(s[i])->second + 1;
|
|
||||||
v.clear();
|
|
||||||
}
|
|
||||||
if (i >= s.size()) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
v[s[i]] = i;
|
|
||||||
if (max_num < v.size()) {
|
if (max_num < v.size()) {
|
||||||
max_num = v.size();
|
max_num = v.size();
|
||||||
}
|
}
|
||||||
|
i = v.find(s[i])->second + 1;
|
||||||
|
v.clear();
|
||||||
|
}
|
||||||
|
if (i >= s.size()) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
v[s[i]] = i;
|
||||||
|
if (max_num < v.size()) {
|
||||||
|
max_num = v.size();
|
||||||
}
|
}
|
||||||
return max_num;
|
|
||||||
}
|
}
|
||||||
};
|
return max_num;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
```
|
```
|
||||||
* 第2版 :32ms
|
* 第2版 :32ms
|
||||||
```c++
|
```c++
|
||||||
class Solution {
|
class Solution {
|
||||||
public:
|
public:
|
||||||
int lengthOfLongestSubstring(string s) {
|
int lengthOfLongestSubstring(string s) {
|
||||||
map<char, short> v;
|
map<char, short> v;
|
||||||
int max_num = 0;
|
int max_num = 0;
|
||||||
for (int i = 0; i < s.size(); ++i) {
|
for (int i = 0; i < s.size(); ++i) {
|
||||||
if (v.find(s[i]) != v.end()) {
|
if (v.find(s[i]) != v.end()) {
|
||||||
if (max_num < v.size()) {
|
|
||||||
max_num = v.size();
|
|
||||||
}
|
|
||||||
++i;
|
|
||||||
while (i < s.size()) {
|
|
||||||
if (v.find(s[i]) != v.end()) {
|
|
||||||
++i;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
--i;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (i >= s.size()) {
|
|
||||||
return max_num;
|
|
||||||
}
|
|
||||||
i = v.find(s[i])->second + 1;
|
|
||||||
v.clear();
|
|
||||||
}
|
|
||||||
if (i >= s.size()) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
v[s[i]] = i;
|
|
||||||
if (max_num < v.size()) {
|
if (max_num < v.size()) {
|
||||||
max_num = v.size();
|
max_num = v.size();
|
||||||
}
|
}
|
||||||
|
++i;
|
||||||
|
while (i < s.size()) {
|
||||||
|
if (v.find(s[i]) != v.end()) {
|
||||||
|
++i;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
--i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (i >= s.size()) {
|
||||||
|
return max_num;
|
||||||
|
}
|
||||||
|
i = v.find(s[i])->second + 1;
|
||||||
|
v.clear();
|
||||||
|
}
|
||||||
|
if (i >= s.size()) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
v[s[i]] = i;
|
||||||
|
if (max_num < v.size()) {
|
||||||
|
max_num = v.size();
|
||||||
}
|
}
|
||||||
return max_num;
|
|
||||||
}
|
}
|
||||||
};
|
return max_num;
|
||||||
```
|
}
|
||||||
|
};
|
||||||
|
```
|
||||||
### jzf :252 ms 8
|
### jzf :252 ms 8
|
||||||
```c++
|
```c++
|
||||||
class Solution {
|
class Solution {
|
||||||
@ -231,35 +231,35 @@ public:
|
|||||||
|
|
||||||
### jzf
|
### jzf
|
||||||
|
|
||||||
* 第一版 超时 复杂度 n*2^n
|
* 第一版 超时 复杂度 n*2^n
|
||||||
```c++
|
```c++
|
||||||
class Solution {
|
class Solution {
|
||||||
public: int findTargetSumWays(vector<int>& nums, int S) {
|
public: int findTargetSumWays(vector<int>& nums, int S) {
|
||||||
int n = 0;
|
int n = 0;
|
||||||
int sum = 0;
|
int sum = 0;
|
||||||
int b = 0;
|
int b = 0;
|
||||||
int size =nums.size();
|
int size =nums.size();
|
||||||
for (size_t k = 0; k <size ; k++)
|
for (size_t k = 0; k <size ; k++)
|
||||||
|
{
|
||||||
|
b = ((1 << k) | b);
|
||||||
|
}
|
||||||
|
for (size_t i = 0; i <= b; i++)
|
||||||
|
{
|
||||||
|
n = 0;
|
||||||
|
for (size_t j = 0; j < size; j++)
|
||||||
{
|
{
|
||||||
b = ((1 << k) | b);
|
n += ((1 << j)&i) ? -nums[j] : nums[j];
|
||||||
}
|
}
|
||||||
for (size_t i = 0; i <= b; i++)
|
if (n == S)
|
||||||
{
|
{
|
||||||
n = 0;
|
sum++;
|
||||||
for (size_t j = 0; j < size; j++)
|
|
||||||
{
|
|
||||||
n += ((1 << j)&i) ? -nums[j] : nums[j];
|
|
||||||
}
|
|
||||||
if (n == S)
|
|
||||||
{
|
|
||||||
sum++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return sum;
|
}
|
||||||
}
|
return sum;
|
||||||
};
|
}
|
||||||
```
|
};
|
||||||
* 第二版
|
```
|
||||||
|
* 第二版
|
||||||
|
|
||||||
### kiritow :24ms 2
|
### kiritow :24ms 2
|
||||||
```c++
|
```c++
|
||||||
@ -341,7 +341,7 @@ var isPalindrome = function(x) {
|
|||||||
* 第二版 :128ms
|
* 第二版 :128ms
|
||||||
```c++
|
```c++
|
||||||
class Solution {
|
class Solution {
|
||||||
int list[10],len=0,i=0;
|
int list[10],len=0,i=0;
|
||||||
public:
|
public:
|
||||||
bool isPalindrome(int x) {
|
bool isPalindrome(int x) {
|
||||||
if(x<0)return false;
|
if(x<0)return false;
|
||||||
@ -401,43 +401,43 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
* 第2版 :140ms
|
* 第2版 :140ms
|
||||||
```c++
|
```c++
|
||||||
class Solution {
|
class Solution {
|
||||||
public: bool isPalindrome(int x) {
|
public: bool isPalindrome(int x) {
|
||||||
int mod;
|
int mod;
|
||||||
int sh =x;
|
int sh =x;
|
||||||
vector<int> vec;
|
vector<int> vec;
|
||||||
if(x <0)
|
if(x <0)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
if(x ==0)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if(x%10 ==0)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
for(size_t i =0;sh>0;i++)
|
|
||||||
{
|
|
||||||
vec.push_back(sh%10);
|
|
||||||
sh = sh/10;
|
|
||||||
}
|
|
||||||
vector<int>::iterator i=vec.begin();
|
|
||||||
vector<int>::iterator j=vec.end()-1;
|
|
||||||
for(;i<j;i++,j--)
|
|
||||||
{
|
|
||||||
if(*i!=*j)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
};
|
if(x ==0)
|
||||||
```
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if(x%10 ==0)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
for(size_t i =0;sh>0;i++)
|
||||||
|
{
|
||||||
|
vec.push_back(sh%10);
|
||||||
|
sh = sh/10;
|
||||||
|
}
|
||||||
|
vector<int>::iterator i=vec.begin();
|
||||||
|
vector<int>::iterator j=vec.end()-1;
|
||||||
|
for(;i<j;i++,j--)
|
||||||
|
{
|
||||||
|
if(*i!=*j)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
```
|
||||||
### 北河 244ms
|
### 北河 244ms
|
||||||
|
|
||||||
* 第一版
|
* 第一版
|
||||||
|
Loading…
x
Reference in New Issue
Block a user