OJ解碼編碼題

2021-09-03 02:13:03 字數 818 閱讀 8434

設有乙個整型陣列a中存放n個互不相同的整數,a中元素取值範圍為0到n-1。a陣列的編碼定義如下:a[0]的編碼為0,放入b[0];ai的編碼為在a[0]、a[1]、…、a[i-1]中比a[i]的值小的數的個數,放入b[i]。例如:a[6]=時,則b[6]=。你有兩個任務,任務一是編碼,即已知n與陣列a,求陣列b;任務二是解碼,即已知n與陣列b,求陣列a。

輸入與輸出要求:首先輸入兩個整數n和flag。n代表陣列元素的個數(1<=n<=100),flag代表任務型別(flag=1代表編碼任務,flag=2代表解碼任務)。然後是n個整數,當flag=1時,這n個數即代表陣列a的內容;當flag=2時,這n個數即代表陣列b的內容。

輸出n個整數,當flag=1時即為編碼後陣列b的內容,當flag=2時,即為解碼後陣列a的內容。每個整數用空格分開,最後乙個整數後是換行符。

程式執行效果:

sample 1:

5↙1↙

2 1 3 0 4↙

0 0 2 0 4

sample 2:

8↙2↙

0 1 2 0 1 1 4 5↙

3 6 7 0 2 1 4 5

#include int main()

b[i]=cnt;}}

}else if(flag==2)

,拿最後乙個數字來 看,5,之前有5個比她小的,那她一定是5

(3)於是產生乙個想法,生成乙個自然的序列,b從0~n-1;a的最後乙個是5,就對應b的第六個,然後5用過了,把b中的5刪去,同時利用使陣列前移,於是迴圈進行此類操作。

(4)總結 ,a從後往前讀的意義就是就是讀出的是b中的順序

簡單明瞭,不再解釋

OJ刷題之《簡單編碼》

description 將一串文字譯成密碼,密碼的規律是 將原來的小寫字母全部翻譯成大寫字母,大寫字母全部翻譯成小寫字母,數字的翻譯規律如下 0 9 1 8 2 7 3 6 4 5 5 4 6 3 7 2 8 1 9 0 然後將所有字元的順序顛倒。input 輸入一串文字,最大字元個數不超過 100...

編碼 解碼 中文編譯碼

字串和字符集的關係 字串是python程式的一種格式 位元組串是網路傳輸的一種形式 字串和位元組串轉換 字串 str encode 位元組串 bytes 位元組串 bytes decode 字串 str ascii字符集是utf 8字符集的前128位字元,可以說ascii字符集是utf 8字符集的子...

js編碼 解碼

js對文字進行編碼涉及3個函式 escape,encodeuri,encodeuricomponent,相應3個解碼函式 unescape,decodeuri,decodeuricomponent 1 傳遞引數時需要使用encodeuricomponent,這樣組合的url才不會被 等特殊字元截斷。...