두 정수 목록 (이전 및 신규)을 비교하는 표준 알고리즘/코드 (Java)를 찾고 '이전'목록을 '새'목록으로 변환하는 작업을 제공하는 세 번째 결과 목록을 제공합니다. '목록.자바에서 시퀀스 비교
old-> 1, 2, 3, 4
new-> 9, 2, 3, 6, 4
그래서 결과이어야 것을 추천 : 여기서
1-, 9+, 2, 3, 4-, 6+, 4+
접미사 예 :
- = Deleted item from old list.
+ = New added item to old list.
및 (접미사 O/w) 나머지 , 변경되지 않은 숫자입니다 (예 : 값 및 색인). 나는 LCS (longest common sequence)를 사용하여 무언가가이 일을 할 것이라고 믿는다. 그러나 나는 그것이 실제로 존재하는지 알아 내지 못합니다.
모든 포인터는 높이 평가됩니다.
안녕하세요, 답장을 보내 주셔서 감사합니다. 미안하지만 솔루션에 도달하는 방법을 이해할 수 없습니다. 여기서 다차원 배열 (d)은 무엇입니까? 어떻게 채울 수 있습니까? 기본적으로, 내가 가지고있는 것은 모두 두 개의 평면 목록 일 때 어떻게 시작하나요? – Abhishek
"d"는 부분 문제 (d [i, j] = a [0..i]를 b [0..j]로 변경하는 데 필요한 최소 작업이므로 d [a.length, b.length ] 완전한 문제에 대한 해결책이 될 것입니다. LCS 또는 동적 프로그래밍에 익숙하다면 익숙 할 것입니다. 그렇지 않으면 알고리즘 소개 또는 다른 곳에서 LCS 섹션을 읽는 것이 좋습니다. –