京东笔试8月6号
选择题:
一直提示跳出页面,后来关闭了qq和微信,还是这样,搞得我有点懵!!!!!
后来直接乱选提交了。唉!!!
第一题
#include<iostream>
#include<vector>
#include<unordered_map>
#include<math.h>
#include<algorithm>
using namespace std;
double getLargest(const vector<char>& vec1, const vector<char>& vec2) {
if (vec1.size() < 1 || vec2.size() < 1) return 0;
vector<int>dp1(vec2.size() + 1);
vector<int>dp2(vec2.size() + 1);
for (int i = 1; i <= vec1.size(); ++i) {
dp2[0] = 0;
for (int j = 1; j <= vec2.size(); ++j) {
if (vec1[i - 1] == vec2[j - 1])
dp2[j] = dp1[j - 1] + 1;
else
dp2[j] = max(dp1[j], dp2[j - 1]);
}
swap(dp1, dp2);
}
return dp1.back() * 1.0 / vec1.size();
}
int main() {
int n = 0;
cin >> n;
vector<char>vec1(n);
vector<char>vec2(n);
for (int i = 0; i < n; ++i)
cin >> vec1[i];
for (int j = 0; j < n; ++j)
cin >> vec2[j];
double res = getLargest(vec1, vec2);
printf("%.2f", res);
cout << ((res) > 0.5 ? " No" : " Yes") << endl;
} 第二题: #include<vector>
#include<algorithm>
#include<string>
#include<unordered_set>
#include<iostream>
using namespace std;
bool isPrime(int n) {
if (n < 2) return false;
if (n == 2 || n == 3) return true;
if (n % 6 != 1 && n % 6 != 5) return false;
int m = sqrt(n);
for (int i = 5; i <= m; i += 6) {
if (n % i == 0 || n % (i + 2) == 0)
return false;
}
return true;
}
bool isPariam(int n) {
string str = to_string(n);
int left = 0, right = str.length()-1;
while (left < right) {
if (str[left] != str[right])
return false;
++left;
--right;
}
return true;
}
unordered_set<int> getPP(int n, int m) {
unordered_set<int>res;
for (int i = 2; i <= m; ++i) {
if (isPrime(i) && isPariam(i)) {
res.insert(i);
}
}
return res;
}
int getRes(int n, int m) {
vector<int>res;
auto pp = getPP(n, m);
int cnt = 0;
for (int i = max(10,n); i <= m; ++i) {
int k = 0;
int low = 0;
int cur = i % 10;
int high = i / 10;
while (true) {
if (pp.find(high * pow(10, k) + low) != pp.end()) {
++cnt;
break;
}
if (high == 0) break;
low = cur * pow(10, k) + low;
cur = high % 10;
high = high / 10;
++k;
}
}
return cnt;
}
int main() {
int n, m;
cin >> n >> m;
cout << getRes(n, m) << endl;
} 
查看14道真题和解析