头条笔试第四题 最长升序序列 求解答(本地AC)

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int t = sc.nextInt();
int pm[]=new int [nt];
int res=0;
for(int i = 0; i < n; i++){
pm[i] = sc.nextInt();
}
for(int j=1;j<t;j++){
for(int i=0;i<n;i++){
pm[n
j+i]=pm[i];
}
}
for(int i=0;i<pm.length;i++){
int count=1;
int index=i;
for(int j=index+1;j<pm.length;j++){
if(pm[index]<=pm[j]){
++count;
index=j;
}
}
res=Math.max(res,count);
}
System.out.println(res);
}
}
/
4 3
10 3 7 5
/

#笔试题目#
全部评论
应该要分段处理,不然内存爆炸。由于时间来不及,没有分段处理,只ac了50%
点赞 回复 分享
发布于 2018-08-25 17:38
leetcode 300
点赞 回复 分享
发布于 2018-08-25 17:20
#include <iostream> #include <vector> using namespace std; int main() {     int n,k;     cin>>n>>k;     long count=n*k;     int a[count];     for(int i=0; i<n; i++)     {         cin>>a[i];     }     for(int i=1; i<=k; i++)     {         for(int j=0; j<n; j++)             a[n*i+j]=a[j];     }     for(int i=0; i<12; i++)         cout<<a[i]<<"   ";     cout<<endl;     vector<int> nums(a, a + count);     vector<int> maxLen(nums.size());  //记录长度     maxLen[0] = 1;     for (int i = 1; i < nums.size(); ++i)     {         int maxL = 0, maxI = -1;         for (int k = i - 1; k >= 0; --k)         {             if (nums[k] > nums[i])                 continue;             if (maxLen[k] > maxL)             {                 maxL = maxLen[k];                 maxI = k;             }         }         maxLen[i] = maxL + 1;     }     int maxL = maxLen[0];     for (int i = 1; i < nums.size(); ++i)  //找出长度最长的不下降子序列,即maxLen[i]最大的情况     {         if (maxLen[i] > maxL)             maxL = maxLen[i];     }     cout << maxL << endl; } 显示越界20%       有大佬知道怎么改吗?
点赞 回复 分享
发布于 2018-08-25 16:18
int pm[]=new int [nt]; 越界了
点赞 回复 分享
发布于 2018-08-25 13:23
是不是爆内存了
点赞 回复 分享
发布于 2018-08-25 13:19
动态规划搞?
点赞 回复 分享
发布于 2018-08-25 12:56
hhh 就这题过了10%
点赞 回复 分享
发布于 2018-08-25 12:52

相关推荐

合不合适,我自己说了才算
码农索隆:hr:“真执着啊,来我公司当法人吧”
点赞 评论 收藏
分享
头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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