글쎄, 나는 (s,h)
의 수의 쌍을 받았습니다. 여기서 s
은 요소를 2 차원 배열의 s
요소로 보냅니다. 각 행마다 동일한 양의 요소가있을 필요는 없으며 행에 N 개 이상의 요소가있을 수 없다는 것을 알고 있습니다.배열의 첫 번째 줄과 나머지 줄의 가장 낮은 차이를 찾아야합니다.
내가 원하는 것은 첫 번째 줄의 특정 요소와 나머지 요소 사이에 가장 큰 차이 (!)를 찾는 것입니다.
(101,92) (100,25,95,52,101) (93,108,0,65,200)
과 3 줄이 있으면 3을 선택해야합니다. 왜냐하면 92를 선택해야하기 때문에 95-92 = 3을 1에서 2로, 93-92 = 1에서 3을 1로 설정합니다.
나는 내가 다음 n(i)
요소 각각 i=0..s
, n0<=n1<=...<=ns
와 s
라인이있는 경우 다른 방향으로 1 라인에서 최적 따기 때 좋은 평균 성능 시나리오가 너무 같은 것이 확실 지점에 도달했습니다.
그러나, 나는 O보다 낮은 방법을 생각할 수 없습니다 (N 2) 또는 어쩌면 O (N 3) 경우도있다. 누구든지이 일을 상당히 개선 된 방법에 대한 제안을 가지고 있습니까?
왜 101-101 = 0 베팅 라인 1과 2입니까? – JATMON
왜냐하면 내가해야 할 일은 다른 모든 사람들과 비교하여 첫 번째 라인에서 가장 잘 맞는 것을 찾는 것이기 때문입니다. 101을 선택하면 첫 번째 줄과 두 번째 줄 사이에 0 차이가있을 수 있지만 첫 번째 줄부터 세 번째 줄까지는 108-101에 대해 7을 얻습니다.이 예제는 내가 작성한 예제에서 얻은 3보다 큽니다. 물어 줘서 고마워.이 질문은 내 질문을 보는 누군가를위한 작은 blury 수 있기 때문에! – Noowada