马工,码农们,你们遇到的技术面试中,最难的技术题是什么样的?我先说一个: 在三维空间的众多坐标中,找到所有在最外层的顶点。
-rustalk(INGYES) 2023-11-22
这个问题已经解决了。
-dolittledu(dolittle) 2023-11-22
再问你一个简单点的:如何证明一个点D在一个三点(ABC)组成的平面上?
-rustalk(INGYES) 2023-11-22
你没学过代数几何, 这个应该是中学课本上的。
-dolittledu(dolittle) 2023-11-22
中学生看这个简单,实际很难。里面有误差的问题。
-rustalk(INGYES) 2023-11-22
看下面程序。
def point_in_plane(A, p1, p2, p3): # Calculate the normal vector of the plane normal = np.cross(p2 - p1, p3 - p1) # Calculate the dot product of the normal vector and the vector from p1 to A dot_product = np.dot(normal, A - p1) # If the dot product is zero, then the point A lies on the plane return dot_product == 0 -dolittledu(dolittle) 2023-11-22
仅仅为了解决误差问题,都可以写几篇博士论文 。不同的情况下的误差,选用什么标准,数学基础是什么等等。
-rustalk(INGYES) 2023-11-22
或者:

import numpy as np

def point_in_plane(A, p1, p2, p3, threshold=1e-6):
# Calculate the normal vector of the plane
normal = np.cross(p2 - p1, p3 - p1)
# Calculate the distance between the point A and the plane
distance = np.abs(np.dot(normal, A - p1)) / np.linalg.norm(normal)
# If the distance is within the threshold, then the point A lies on the plane
return distance < threshold

-dolittledu(dolittle) 2023-11-22
👍挺好了。you are hired!
-rustalk(INGYES) 2023-11-22
不是我的功劳, AI做的。
-dolittledu(dolittle) 2023-11-22
我想到了。将来这类东西集中到软件中,程序员可以省很多基础工作。
-rustalk(INGYES) 2023-11-22
这种公司就不要去浪费生命啦
-opulus(opulus) 2023-11-22
现在找工很难,不得不做啊。
-rustalk(INGYES) 2023-11-22
有时候不得不负重前行。
-dolittledu(dolittle) 2023-11-22