微軟程式設計一小時--Longest Repeated Sequence
題目2 : Longest Repeated Sequence
時間限制:10000ms
單點時限:1000ms
記憶體限制:256MB
描述
You are given a sequence of integers, A = a1, a2, ... an. A consecutive subsequence of A (say ai, ai+1 ... aj) is called a "repeated sequence" if it appears more than once in A (there exists some positive k that ai+k = ai, ai+k+1 = ai+1, ... aj+k = aj) and its appearances are not intersected (i + k > j).
Can you find the longest repeated sequence in A?
輸入
Line 1: n (1 <= n <= 300), the length of A.
Line 2: the sequence, a1 a2 ... an (0
<= ai <= 100).
輸出
The length of the longest repeated sequence.
5 2 3 2 3 2樣例輸出
2
解析:該題的大致意思是找最長的連續數假如是ai, ai+1 ... aj,這些數滿足這樣的條件: ai+k = ai, ai+k+1 = ai+1, ... aj+k = aj,也就是每個
數隔k個數就相同,但是還有一個條件i+k>j,這個也應該考慮到,綜上我就直接模擬了一下,因為時間過了無法提交,如果有錯請大家糾正哈!
#include <iostream>
using std::endl;
using std::cin;
using std::cout;
int main(void)
{
int N;
int data[300];
while(cin >> N)
{
int maxLength=0;
//輸入資料
for(int i=0; i<N; ++i)
{
cin >> data[i];
}
for(int i=0; i<N; ++i)
{
//如果沒有與當前相等data[i],則k為初值
int k = 0;
//每一次迴圈計算length都應該重置
int length = 0;
//計算k
for(int j=i+1; j<N; ++j)
{
if(data[j] == data[i])
{
length++;
k = j-i;
break;
}
}
//開始計算長度
for(int j=i+1; j+k<N;++j)
{//這裡還必須控制一個條件i + k > j
if((data[j] == data[j+k]) && (i +k >j))
{
length++;
}else{
//如果不滿足上述任何一個條件,終止迴圈
break;
}
}
//判斷當前的計算的length與maxLength相比較
if(length > maxLength)
{
maxLength = length;
}
}
cout << maxLength << endl;
}
return 0;
}
相關文章
- ACM Longest Repeated SequenceACM
- LeetCode-Repeated DNA SequenceLeetCode
- 一小時向非程式設計師介紹 R 程式語言程式設計師
- Leetcode-Longest Consecutive SequenceLeetCode
- Longest Consecutive Sequence leetcode javaLeetCodeJava
- 施耐德UNITY下使用ST程式設計計算最近一小時的均值Unity程式設計
- 如果一小時後永久斷網,程式設計師會幹嘛?程式設計師
- LeetCode128:Longest Consecutive SequenceLeetCode
- Leetcode 298 Binary Tree Longest Consecutive SequenceLeetCode
- LeetCode- Binary Tree Longest Consecutive SequenceLeetCode
- 微軟電話面試程式設計微軟面試程式設計
- 一小時的時間,上手 WebpackWeb
- 程式設計師程式設計時喝什麼?程式設計師
- 程式設計師程式設計時喝什麼程式設計師
- 改需求之路:設計師的一小步,程式設計師的一大步程式設計師
- 一小時入門ReactReact
- 程式設計師程式設計需要多少個小時?程式設計師
- 程式設計師一週花多少時間程式設計?程式設計師
- 微軟的PivotViewer控制元件程式設計微軟View控制元件程式設計
- 微軟程式設計師最好的時代來了微軟程式設計師
- 程式設計師程式設計時的簡單方法與技巧程式設計師
- 程式設計師最多能用多少時間來程式設計?程式設計師
- 一小時搞懂Mysql鎖機制MySql
- Web | 一小時看懂前端語法Web前端
- 一小時學會 C# 6.0C#
- 可程式設計作息時間控制器設計程式設計
- 微軟釋出Vista程式設計介面(API)微軟程式設計API
- 程式設計1小時公益活動程式設計
- 永不過時的程式設計工具程式設計
- 程式設計師的時間估算程式設計師
- 配對程式設計——耗時加倍程式設計
- sequence to sequence模型模型
- .NET框架-微軟C#程式設計風格官方指南框架微軟C#程式設計
- 為什麼微軟製造差的程式設計師?微軟程式設計師
- UML建模之時序圖(Sequence Diagram)時序圖
- 是時候讓孩子學程式設計了——圖靈創意程式設計培訓進行時程式設計圖靈
- 何時停止設計並啟動實施程式設計? - Alter程式設計
- 當邏輯程式設計遭遇CQRS時程式設計