生活随笔
收集整理的這篇文章主要介紹了
一题多解 面试题
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最近在其他論壇上看到幾個(gè)網(wǎng)友的面試題,這些天,QQ群內(nèi)的人都在討論怎么解答才最簡(jiǎn)單,下面列出題目:
文件a: ? ? ? ? ? ? ? ?文件b:
a b c ? ? ? ? ? ? ? ? ?a b c
b c a ? ? ? ? ? ? ? ? ?b c a
c b a ? ? ? ? ? ? ? ? ?c a b
a a a ? ? ? ? ? ? ? ? ?1 1 1
b b b ? ? ? ? ? ? ? ? ?2 2 2
c c c ? ? ? ? ? ? ? ? ?3 3 3
要求合并2個(gè)文件如下:
a b c a b c
b c a b c a
c a b c a b
a a a 1 1 1
b b b 2 2 2
c c c 3 3 3
?最簡(jiǎn)單的答案看下面:
[root@Virtual?~]#?paste?-d?'?'?a?b?a?b?c?a?b?c?b?c?a?b?c?a?c?b?a?c?a?b?a?a?a?1?1?1?b?b?b?2?2?2?c?c?c?3?3?3?awk大牛給的答案:
[root@Virtual?~]#?awk?'NR==FNR{a[NR]=$0}NR>FNR{print?a[FNR],$0}'?a?b?a?b?c?a?b?c?b?c?a?b?c?a?c?b?a?c?a?b?a?a?a?1?1?1?b?b?b?2?2?2?c?c?c?3?3?3?shell版本的答案:
?
cat?test.sh??while?read?a?b?c?do??????????while?read?d?e?f??????????do?????????????????echo?"$d?$e?$f"|awk?-v?a=$a?-v?b=$b?-v?c=$c?-F'\n'?'{print?$0,""a"",""b"",""c""}'??????????????????sed?-i?'1d'?a?????????????????break?????????done?<?a?done?<??b??輸出結(jié)果:?./test.sh????a?b?c?a?b?c?b?c?a?b?c?a?c?a?b?c?a?b?a?a?a?1?1?1?b?b?b?2?2?2?c?c?c?3?3?3?最后附上我的python的答案:
[root@Virtual?~]#?vi?test.py?[root@Virtual?~]#?python?test.py?a?b?c?a?b?c?b?c?a?b?c?a?c?b?a?c?a?b?a?a?a?1?1?1?b?b?b?2?2?2?c?c?c?3?3?3?[root@Virtual?~]#?cat?test.py?#!/usr/bin/env?python?import?linecache?f=open('/root/a')?LineCount=len(f.readlines())??for?i?in?range(1,LineCount+1):?????????a=linecache.getline("/root/a",i)?????????b=linecache.getline("/root/b",i)??????????print?a.strip(),b.strip()?[root@Virtual?~]#??? 這個(gè)題目的答案還有許多的解答方法,比如用sed估計(jì)也可以,用perl也沒(méi)問(wèn)題。。。如果你知道,請(qǐng)不吝賜教。。。
本文轉(zhuǎn)自你是路人甲還是霍元甲博客51CTO博客,原文鏈接http://blog.51cto.com/world77/654720如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
world77
總結(jié)
以上是生活随笔為你收集整理的一题多解 面试题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。