最長遞增子序列 子串_最長遞增奇偶子序列

最長遞增子序列 子串

Problem statement:

問題陳述:

Given a sequence of numbers you have to find out the length of the longest increasing odd even subsequence and print the length of the subsequence. The sequence will be maintaining like, (odd ) -> ( even ) -> ( odd ) -> ( even ) or (even ) -> ( odd ) -> ( even ) -> ( odd ) .

給定一個數字序列,您必須找出最長的遞增奇數偶數子序列的長度并打印該子序列的長度。 順序將保持為(odd)->(even)->(奇數)->(偶數)(even)->(奇數)->(偶數)->(奇數)

Input:
T Test case
T no. of input array along with their element no. N
E.g.
3
8
2 3 4 8 2 5 6 8
8
2 3 4 8 2 6 5 4
7
6 5 9 2 10 77 5
Constrain:
1≤ T ≤ 20
1≤ N ≤50
1≤ A[i] ≤50
Output:
Print the length of the longest increasing 
odd even subsequence

Example

T=3
Input:
8
2 3 4 8 2 5 6 8 
Output:
5 ( 2 3 4 5 8  )
Input:
8
2 3 4 8 2 6 5 4
Output:
4 ( 2 3 4 5 )
Input:
7
6 5 9 2 10 77 5
Output:
4 (6 9 10 77 )

Explanation with example:

舉例說明:

Let N be the number of elements say, X1, X2, X3 ... Xn.

N為元素數,即X 1 ,X 2 ,X 3 ... X n

Let odd(a) = the value at the index a of the odd array and even(a) = the value at the index a of the even array.

odd(a) =奇數數組的索引a處的值,而even(a) =偶數數組的索引a處的值。

To find the length of the longest increasing odd even subsequence we will follow these steps,

要找到最長的遞增奇數偶數子序列的長度,我們將按照以下步驟操作,

  1. We take two new array one is an odd array and another is even an array and initialize both with 1. We start our algorithm with the second column. We check elements that are before the current element, with the current element.

    我們采用兩個新的數組,一個是奇數數組,另一個是偶數數組,并都用1初始化。我們從第二列開始我們的算法。 我們使用當前元素檢查當前元素之前的元素。

  2. If the current element is odd and the comparing the element is even then,

    如果當前元素為奇數,而比較元素為偶數,

    odd (index of current element) = even (index of the comparing element) + 1 ;

    奇數(當前元素的索引)=偶數(比較元素的索引)+1;

  3. If the current element is even and the comparing element is odd then,

    如果當前元素為偶數,而比較元素為奇數,

    even (index of current element) = odd (index of the comparing element) + 1;

    偶數(當前元素的索引)=奇數(比較元素的索引)+1;

C++ Implementation:

C ++實現:

#include <bits/stdc++.h>
using namespace std;
int length_of_subsequence(int* arr, int n)
{
int a[n];
for (int i = 0; i < n; i++) {
a[i] = 1;
}
for (int i = 1; i < n; i++) {
for (int j = 0; j < i; j++) {
if (arr[i] % 2 == 0) {
if (arr[j] % 2 == 1 && arr[j] < arr[i]) {
a[i] = max(a[i], a[j] + 1);
}
}
else {
if (arr[j] % 2 == 0 && arr[j] < arr[i]) {
a[i] = max(a[i], a[j] + 1);
}
}
}
}
int Max = 0;
for (int i = 0; i < n; i++) {
Max = max(Max, a[i]);
}
cout << endl;
return Max;
}
int main()
{
int t;
cout << "TestCase : ";
cin >> t;
while (t--) {
int n;
cout << "Enter number of elements : ";
cin >> n;
int arr[n];
cout << "Enter the elements : ";
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
cout << "Length of the subsequence : " << length_of_subsequence(arr, n) << endl;
}
return 0;
}

Output

輸出量

TestCase : 3
Enter number of elements : 8
Enter the elements : 2 3 4 8 2 5 6 8
Length of the subsequence : 5
Enter number of elements : 8
Enter the elements : 2 3 4 8 2 6 5 4
Length of the subsequence : 4
Enter number of elements : 7
Enter the elements : 6 5 9 2 10 77 5
Length of the subsequence : 4

翻譯自: https://www.includehelp.com/icp/longest-increasing-odd-even-subsequence.aspx

最長遞增子序列 子串

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/541183.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/541183.shtml
英文地址,請注明出處:http://en.pswp.cn/news/541183.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

echarts 柱狀圖不顯示y坐標軸_Python+matplotlib自定義坐標軸位置、顏色、箭頭

圖書推薦&#xff1a;《Python程序設計基礎與應用》(ISBN&#xff1a;9787111606178)&#xff0c;董付國&#xff0c;機械工業出版社圖書詳情&#xff1a;用書教師可以聯系董老師獲取教學大綱、課件、源碼、教案、考試系統等配套教學資源。使用Pythonnumpymatplotlib這樣的組合…

css3瀏覽,css3支持哪些瀏覽器?

CSS3 帶來眾多全新的設計體驗&#xff0c;但有一個問題值得考慮&#xff1a;瀏覽器對 CSS3 特性的兼容情況如何&#xff1f;因為頁面最終離不開用瀏覽器來渲染&#xff0c;并不是所有瀏覽器都完全支持 CSS3 的特性。有時花時間寫的效果只能在特定的瀏覽器下有效&#xff0c;這意…

print函數python_帶有結束參數的Python print()函數

print函數pythonprint()函數 (print() function) print() function is used to print message on the screen. print()函數用于在屏幕上打印消息。 Example: 例&#xff1a; # python print() function example# printing textprint("Hello world!")print("He…

python各位數字之和為5的數_『Python基礎-5』數字,運算,轉換

『Python基礎-5』數字,運算,轉換目錄基本的數字類型二進制,八進制,十六進制數字類型間的轉換數字運算1. 數字類型Python 數字數據類型用于存儲數學上的值&#xff0c;比如整數、浮點數、復數等。數字類型在python中是不可變類型&#xff0c;意思是一個變量被賦予了一個不一樣的…

移動游戲加載性能和內存管理全解析 學習

https://v.qq.com/iframe/player.html?vido0512etq2vm&tiny0&auto0 轉載于:https://www.cnblogs.com/revoid/p/7039232.html

css 軌道,html-當其他軌道增加時,CSS網格的軌道不會縮...

由于行和列定義中都包含1fr,因此水平和垂直空間受到限制-因此網格項目將平均共享它們.嘗試將其更改為自動用于行和列,您可以看到一切正常,但還不完美-請注意,懸停的網格項周圍存在空格&#xff1a;.grid--container {height: 100vh;width: 100vw;max-height: 100%;max-width: 1…

帶有示例的Python File readline()方法

文件readline()方法 (File readline() Method) readline() method is an inbuilt method in Python, it is used to get one line from the file, the method is called with this object (current file stream/IO object) and returns one line from the file, we can also sp…

++代碼實現 模糊綜合算法_干貨 | 十大經典排序算法最強總結(內含代碼實現)...

一、算法分類十種常見排序算法可以分為兩大類&#xff1a;比較類排序&#xff1a;通過比較來決定元素間的相對次序&#xff0c;由于其時間復雜度不能突破O(nlogn)&#xff0c;因此也稱為非線性時間比較類排序。非比較類排序&#xff1a;不通過比較來決定元素間的相對次序&#…

如何恢復osd的auth表中的權限

2019獨角獸企業重金招聘Python工程師標準>>> 原因&#xff1a;當你一不小心刪掉了osd的auth信息時&#xff0c;重啟osd服務&#xff0c;此時ceph -s查看發現osd down 如&#xff1a; [rootceph ~]# ceph osd tree ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIM…

nginx服務器配置安全維護,Nginx服務器相關的一些安全配置建議

這篇文章主要介紹了Nginx服務器相關的一些安全配置建議,共計總結了十個小點,需要的朋友可以參考下Nginx是當今最流行的Web服務器之一。它為世界上7%的web流量提供服務而且正在以驚人的速度增長。它是個讓人驚奇的服務器&#xff0c;我愿意部署它。下面是一個常見安全陷阱和解決…

帶有示例的Python date strftime()方法

Python date.strftime()方法 (Python date.strftime() Method) date.strftime() method is used to manipulate objects of date class of module datetime. date.strftime()方法用于操作模塊datetime的日期類的對象。 It takes an instance of the class and returns a stri…

python 發送郵件connect none_使用python向IP地址發送郵件

所以我嘗試通過python腳本發送郵件。使用通常的接收者地址格式可以正常工作”userdomain.tld". 當我現在嘗試使用帶有接收者“user[IP Address]的腳本時&#xff0c;我所有的調試輸出看起來都很好&#xff0c;sendmail方法也可以工作&#xff0c;但是郵件始終沒有收到。我…

老男孩IT教育38期面授班 學員邢偉的決心書

大家好我叫邢偉,今年22歲&#xff0c;上一份工作是做媒體推廣的&#xff0c;拿完獎金飯補全勤獎月薪大概4K左右&#xff0c;在北京生活感覺力不從心現在參加老男孩IT教育linux運維38期&#xff0c;在接下來的學習中&#xff0c;我的目標是畢業后達到月薪12K在接下來的學習中早上…

PS打開PSD文檔服務器未響應,ps打不開psd文件的解決方法

很多人用ps做作品的時候&#xff0c;經常遇到psd文件打不開的問題&#xff0c;最常見的有三種原因&#xff0c;有兩種可以設置解決&#xff0c;另一種是文件損壞&#xff0c;不可恢復。下面是學習小編給大家整理的有關介紹ps打不開psd文件的解決方法&#xff0c;希望對大家有幫…

strictmath_Java StrictMath cbrt()方法與示例

strictmathStrictMath類cbrt()方法 (StrictMath Class cbrt() method) cbrt() method is available in java.lang package. cbrt()方法在java.lang包中可用。 cbrt() method is used to find the cube root of the given parameter in the method. Here, cbrt stands for cube …

模塊---常用模塊

import osprint(os.getcwd()) #得到當前目錄#os.chmod("/usr/local",7) #給文件或者文件夾加權限&#xff0c;7為最高權限print(os.chdir("../")) #更改當前目錄print(os.curdir) #當前目錄print(os.pardir) #父目錄print(os.mkdir("test1")) #創…

excel添加列下拉框票價_excel表格下拉表格添加數據-excel2017表格中怎么制作下拉菜單列表框...

在Excel表中&#xff0c;如何將增加下拉菜單的選項&#xff1f;excel中的下拉菜單選項&#xff0c;就是篩選的功能&#xff0c;具體操作如下&#xff1a;1.首先選中a、b兩列數據&#xff0c;在“開始”選項卡上選擇“篩選”&#xff1b;2.這樣就在excel表中添加了下拉菜單選項。…

ajax實現兩個aspx跳轉,請問ajax執行成功后可以跳轉到另一個頁面嗎?

一只名叫tom的貓通過ajax讀取到寫好的jsp&#xff0c;另一個jsp可以放framse或者層都可以&#xff0c;顯示就行了123456789$.ajax({ type: "POST", //用post方式傳輸 dataType: "html", //數據格式&#xff1a;json…

Android橫豎屏切換View設置不同尺寸或等比例縮放的自定義View的onMeasure解決方案(2)...

Android橫豎屏切換View設置不同尺寸或等比例縮放的自定義View的onMeasure解決方案&#xff08;2&#xff09;附錄文章1以xml布局文件方式實現了一個view在橫豎屏切換時候的大小尺寸縮放&#xff0c;實現這種需求&#xff0c;也可以使用自定義View的onMeasure方法實現。比如&…

java中的push方法_Java ArrayDeque push()方法與示例

java中的push方法ArrayDeque類push()方法 (ArrayDeque Class push() method) push() Method is available in java.lang package. push()方法在java.lang包中可用。 push() Method is used to push an element onto the stack denoted by this deque. push()方法用于將元素壓入…