9月6日小红书测开笔试

1、部分排序(过77%超时,为啥?)
def subSort(arr):  if len(arr) < 2:  return [-1,-1]
    lmax,rmin,l,r,n = arr[0],arr[-1],-1,-1,len(arr)  for i in range(n):  if arr[i] < lmax:
            r = i
            lmax = max(lmax,arr[i])  if arr[n-1-i] > rmin:
            l = n-1-i
            rmin = min(rmin,arr[n-1-i])  return [l,r]
2、找出不在数组中的最小自然数(100%)
def findMin(arr):
    arr = [i for j in arr for i in j]
    hashmap = [0]*len(arr)  for i in arr:  if 0 < i <= len(arr):
        hashmap[i-1] = i  for index in range(len(arr)):  if hashmap[index] != index + 1:  return index + 1    return len(arr)+1
3、(9%)


#笔试题目##小红书#
全部评论
不知道我的方法对不对 #include<iostream> #include<vector> #include<queue> #include<map> #include<algorithm> typedef unsigned long long ll; using namespace std; int main() { int X; cin >> X; int L, T, N; cin >> L >> T >> N; vector<int> nums(N, 0); map<int, int> Map; for (int i = 0; i < N; i++) { cin >> nums[i]; Map[nums[i]]++; } sort(nums.begin(), nums.end()); int count = 0; vector<int> dp(X + 1, 100000); dp[0] = 0; for (int i = nums[0]; i <= X; i++) { count = 0; for (int j = L; j <= T; j++) {  if (i - j >= 0&&dp[i-j]!=100000) { count++; if (count == 1) { if (Map[i] > 0) { dp[i] = dp[i - j] + 1; } else { dp[i] = dp[i - j]; } continue; } if (Map[i] > 0) { dp[i] = min(dp[i], dp[i - j] + 1); } else { dp[i] = min(dp[i], dp[i - j]); } } } cout << dp[i] << endl; }  return 0; }
点赞 回复 分享
发布于 2020-09-06 22:29
我也一直77
点赞 回复 分享
发布于 2020-09-06 23:01
请问小红书测开笔试的题型是什么?
点赞 回复 分享
发布于 2020-09-11 14:26
请问测开编程题难度是leetcode的什么难度呀
点赞 回复 分享
发布于 2020-09-11 17:57

相关推荐

11-24 11:23
门头沟学院 C++
点赞 评论 收藏
分享
10-04 17:25
门头沟学院 Java
snqing:Java已经饱和了,根本不缺人。随便一个2000工资的都200人起投递
点赞 评论 收藏
分享
评论
2
1
分享
牛客网
牛客企业服务