현재 int 배열은 nxn입니다. 배열 내의 모든 셀을 무한대로 초기화하고 나중에 셀과 비교되는 값이 셀 내부의 값보다 낮은 경우 나중에 셀을 변경하려고합니다. 다음은 무한 성을 나타 내기 위해 -1을 사용하여 지금까지 생각해 냈던 의사 코드입니다. 어떻게 생각해? 이것이 가장 효율적인 방법인가요, 버그입니까? 당신이 값 -1
은 "예약"값으로 처리 할 수 있는지 확인하는 경우최소값 int 배열을 구현
if(table[i][j] == -1 || (table[i][j] != -1 && table[i][j] > value)
then table[i][j] = value
감사합니다. 좀 더 구체적으로 Floyd-Warshall 알고리즘을 구현하고 있습니다. 그래서 table [i] [j]> table [i] [k] + table [k] [j]이면 table [i] [j] = table [i] [k] + table [k] [j]. ik와 kj가 둘 다 MAX_VALUE이면, 프로그램을 추가하기 때문에 어떤 식 으로든 프로그램을 뒤엎을 수 있습니까? – sudo
이름에서 알 수 있듯이 Integer.Max_VALUE는 Integer 세계에서 가능한 최대 값입니다. 그것도'1 '을 추가 했습니까? Integer 범위를 벗어나서 Integer.MIN_VALUE-1 (정수는 실제로 원형입니다) 결과를 갖습니다. – Riduidel