我面臨一個奇怪的問題,儘管嘗試了很多次,但我無法找到問題的邏輯和正確的代碼。動態計算文件條目的具有挑戰性的方法
我有一個文件在下面的格式:
aa:bb:cc dd:ee:ff 100 ---------->line1
aa:bb:cc dd:ee:ff 101 ---------->line2
dd:ee:ff aa:bb:cc 230 ---------->line3
dd:ee:ff aa:bb:cc 231 ---------->line4
dd:ee:ff aa:bb:cc 232 ---------->line5
aa:bb:cc dd:ee:ff 102 ---------->line6
aa:bb:cc dd:ee:ff 103 ---------->line7
aa:bb:cc dd:ee:ff 108 ---------->line8
dd:ee:ff aa:bb:cc 233 ---------->line9
gg:hh:ii jj:kk:ll 450 ---------->line10
jj:kk:ll gg:hh:ii 600 ---------->line11
我的程序應該逐行讀取文件中的行。在第一行和第二行中,相應的column1和column2值相等。第三列是任何兩行不同的序列號。
因爲line1和line2是相同的,除了它們的序列號只有1的值不同之外,我應該首先讀這兩行並將它們的計數寫爲2到輸出文件。如果我們觀察到,第6行和第7行與第1行和第2行相同,具有連續的序列號,但具有不同第1列和第2列條目的行號第3行,第4行,第5行出現在它們之間。因此,行(1 & 2)和行(6 & 7)不應該組合在一起。因此,在輸出文件中,我應該得到類似於2 3 2 1 1 1 1的結果。還有一點是,第7行和第8行的順序號不同於1。因此,第8行應該被計爲單獨的條目,而不是與第6和第7行一起,儘管第6,7,8行具有相同的前兩列。
我希望大多數人都能理解這個問題。如果沒有,我會澄清這個問題。
正如你所看到的,這是一個非常複雜的問題。我嘗試使用字典,因爲這是我知道的唯一數據結構,但沒有邏輯工作。請幫我解決這個問題。
我沒有看到任何地方的問題 – Stephan
@Stephan問題是,我如何生成輸出文件,就像我提到的。 –
@JustinCarrey然後,只需重新說出你的問題,以便更明確。 – 2rs2ts