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%)


#笔试题目##小红书#
全部评论
请问测开编程题难度是leetcode的什么难度呀
点赞 回复 分享
发布于 2020-09-11 17:57
请问小红书测开笔试的题型是什么?
点赞 回复 分享
发布于 2020-09-11 14:26
我也一直77
点赞 回复 分享
发布于 2020-09-06 23:01
不知道我的方法对不对 #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

相关推荐

不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
06-19 19:06
门头沟学院 Java
码农索隆:别去东软,真学不到东西,真事
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务