我们定义一个完美序列为:这个序列的大于的元素个数超过不大于的元素 现在给你一个序列,想让你找到它的连续子序列中完美序列的最长长度是多少? 连续子序列的意思是序列中一段连续的序列,比如,序列1 2 3 里面连续的子序列有1 2或者2 3 但是1 3不是连续子序列-笔试面试资料

这是qklbishe.com第19711 篇笔试面试资料
提供答案分析,通过本文《我们定义一个完美序列为:这个序列的大于的元素个数超过不大于的元素
现在给你一个序列,想让你找到它的连续子序列中完美序列的最长长度是多少? 连续子序列的意思是序列中一段连续的序列,比如,序列1 2 3 里面连续的子序列有1 2或者2 3 但是1 3不是连续子序列-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:
我们定义一个完美序列为:这个序列的大于我们定义一个完美序列为:这个序列的大于的元素个数超过不大于的元素     现在给你一个序列,想让你找到它的连续子序列中完美序列的最长长度是多少?    连续子序列的意思是序列中一段连续的序列,比如,序列1 2 3 里面连续的子序列有1 2或者2 3 但是1 3不是连续子序列的元素个数超过不大于我们定义一个完美序列为:这个序列的大于的元素个数超过不大于的元素     现在给你一个序列,想让你找到它的连续子序列中完美序列的最长长度是多少?    连续子序列的意思是序列中一段连续的序列,比如,序列1 2 3 里面连续的子序列有1 2或者2 3 但是1 3不是连续子序列的元素

现在给你一个序列我们定义一个完美序列为:这个序列的大于的元素个数超过不大于的元素     现在给你一个序列,想让你找到它的连续子序列中完美序列的最长长度是多少?    连续子序列的意思是序列中一段连续的序列,比如,序列1 2 3 里面连续的子序列有1 2或者2 3 但是1 3不是连续子序列,想让你找到它的连续子序列中完美序列的最长长度是多少?
连续子序列的意思是序列中一段连续的序列,比如,序列1 2 3 里面连续的子序列有1 2或者2 3 但是1 3不是连续子序列
我们定义一个完美序列为:这个序列的大于的元素个数超过不大于的元素     现在给你一个序列,想让你找到它的连续子序列中完美序列的最长长度是多少?    连续子序列的意思是序列中一段连续的序列,比如,序列1 2 3 里面连续的子序列有1 2或者2 3 但是1 3不是连续子序列 零葬
使用预处理技巧,构建一个辅助数组prevCount,prevCount[i]存储arr[0:i]中大于k的元素个数。然后穷举区间的两个端点,利用prevCount计算每个区间内大于k的元素个数,一旦大于k的元素个数超过不大于k的元素个数就更新最大的序列长度。
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException;  public class Main {     public static void main(String[] args) throws IOException {         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));         String[] params = br.readLine().split(" ");         int n = Integer.parseInt(params[0]), k = Integer.parseInt(params[1]);         String[] strArr = br.readLine().split(" ");         int[] arr = new int[n];         int[] prevCount = new int[n];         for(int i = 0; i < n; i++){             arr[i] = Integer.parseInt(strArr[i]);             if(i == 0){                 prevCount[i] = arr[i] > k? 1: 0;             }else{                 prevCount[i] = prevCount[i - 1] + (arr[i] > k? 1: 0);             }         }         int maxLen = 0;         for(int left = -1; left < n - 1; left++){             for(int right = left + 1; right < n; right++){                 // 区间(left,right]中大于k的元素个数                 int gtkCnt = prevCount[right] - (left >= 0? prevCount[left]: 0);                 if(2*gtkCnt > right - left) {                     maxLen = Math.max(maxLen, right - left);                 }             }         }         System.out.println(maxLen);     } }

今天 00:26:04 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 我们定义一个完美序列为:这个序列的大于的元素个数超过不大于的元素 现在给你一个序列,想让你找到它的连续子序列中完美序列的最长长度是多少? 连续子序列的意思是序列中一段连续的序列,比如,序列1 2 3 里面连续的子序列有1 2或者2 3 但是1 3不是连续子序列-笔试面试资料

提供最优质的资源集合

立即查看 了解详情