百度2017春季招聘筆試

2021-07-31 07:02:57 字數 1816 閱讀 4486

題目:已知有n個點分布在三維空間,且各個點都有三種顏色中的一種,即』r』,』g』,』b』,每次輸入格式為顏色和座標,要求計算組成的最大三角形的面積

,另外該三角形需要滿足的條件是三個點要麼顏色完全相同,要麼完全不同。

輸入示例:

5 r 0 0 0

g 92 14 7

r 0 4 0

r 0 0 3

g 12 16 8

輸出結果:

6.00000

# coding=utf-8

import sys

import math

# 計算兩點間距離

defdistance

(a, b):

tmp = (a[1] - b[1])**2 + (a[2] - b[2])**2 + (a[3] - b[3])**2

return math.pow(tmp, 0.5)

# 計算三點構成的面積

defcountarea

(a, b, c):

line1 = distance(a, b)

line2 = distance(a, c)

line3 = distance(b, c)

p = (line1 + line2 + line3) / 2

return math.pow(p * (p - line1) * (p - line2) * (p - line3), 0.5)

defmaxarea

(data):

areas =

for i in range(len(data)-2):

for j in range(i+1,len(data)-1):

for k in range(j+1,len(data)):

areas.sort(key=lambda x:x[0],reverse=true)

# print(areas)

for x in areas:

if( ( x[1] == x[2] == x[3] ) or ( x[1] != x[2] and x[1] != x[3] and x[2] != x[3] ) ):

return x[0]

if __name__ == "__main__":

# 讀取第一行的n

n = int(sys.stdin.readline().strip())

data =

for i in range(n):

# 讀取每一行

line = sys.stdin.readline().strip().split()

for i in range(1, 4):

line[i] = int(line[i])

# print(data)

# data = [['r', 0, 0, 0],

# ['g', 92, 14, 7],

# ['r', 0, 4, 0],

# ['r', 0, 0, 3],

# ['g', 12, 16, 8]

# ]

# n = len(data)

# data.sort(key=lambda x:x[0])

if(n == 3):

print("%.5f"%countarea(data[0], data[1], data[2]))

else:

maxa = maxarea(data)

print("%.5f"%maxa)

百度2017春季招聘筆試題

題目 已知有n個點分布在三維空間,且各個點都有三種顏色中的一種,即 r g b 每次輸入格式為顏色和座標,要求計算組成的最大三角形的面積 另外該三角形需要滿足的條件是三個點要麼顏色完全相同,要麼完全不同。輸入示例 5 r 0 0 0 g 92 14 7 r 0 4 0 r 0 0 3 g 12 16...

2017百度校園招聘程式設計題

題目大概為輸入n個敏感詞彙和乙個文字串,在文字串中出現敏感詞彙的地方用 替代掉,輸出替換後的文字串。思路 直接kmp匹配出現敏感詞的地方,用乙個中間陣列標記。唯一的陷阱就是不區分大小寫,所以用kmp判斷兩個字元相等的注意下 替換敏感詞彙 include include include include...

百度2015校園招聘筆試題

一 簡答題 30分 1.程序和執行緒的聯絡與區別。2.簡述資料庫的儲存過程及其優點。3.static全域性變數與普通的全域性變數有什麼區別?static區域性變數和普通的區別?static函式和普通函式的區別?二 演算法與程式設計題 45分 1 請編碼實現memcpy函式 void memcpy v...