一題多解 面試題

2021-09-03 10:07:28 字數 1864 閱讀 3208

最近在其他論壇上看到幾個網友的面試題,這些天,qq群內的人都在討論怎麼解答才最簡單,下面列出題目:

檔案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個檔案如下:

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

最簡單的答案看下面:

[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==fnrnr>fnr' 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'

''sed -i '1d' a 

break 

done < a 

done <  b 

輸出結果: 

./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 ~]# 

這個題目的答案還有許多的解答方法,比如用sed估計也可以,用perl也沒問題。。。如果你知道,請不吝賜教。。。

一題多解 面試題

最近在其他論壇上看到幾個的面試題,這些天,qq群內的人都在討論怎麼解答才最簡單,下面列出題目 檔案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個檔案如下 a b c a b c ...

雷射樣式(一題多解)

問題描述 x星球的盛大節日為增加氣氛,用30台機光器一字排開,向太空中打出光柱。安裝除錯的時候才發現,不知什麼原因,相鄰的兩台雷射器不能同時開啟!國王很想知道,在目前這種bug存在的情況下,一共能打出多少種雷射效果?顯然,如果只有3臺機器,一共可以成5種樣式,即 1 全都關上 sorry,此時無聲勝...

一題四解 SQL經典面試題

表結構以及資料如下 create table 表 id int,日期 varchar 11 單據 char 3 insert into 表 id 日期 單據 values 1 2004 08 02 001 insert into 表 id 日期 單據 values 2 2004 09 02 001 ...