정수 배열이 주어지면 배열의 모든 숫자에서 연결할 수 있는 가장 큰 정수를 찾습니다.

주제 설명:

정수 배열이 주어지면 배열의 모든 숫자에서 연결할 수 있는 가장 큰 정수를 찾습니다.
예:
입력: [7,53, 54], 출력: 75453;
입력: [1,321,35,4], 출력: 4353213;

암호

아이디어:

  1. 배열의 모든 숫자를 문자열로 변환하고 첫 번째 문자의 크기에 따라 전체적으로 정렬합니다.
  2. 첫 글자가 같으면 while루프를 통해 역방향 비교 예를 들어 52와 53을 비교할 때 첫 글자 5가 같으면 2와 3을 비교 비교 대상 두 문자열의 길이가 다른 경우 비교 , 먼저 순환되는 문자열은 항상 후속 비교에 마지막 문자 사용입니다. 예를 들어 523과 52를 비교할 때 처음 두 자리는 동일하고 523 중 3은 52 중 마지막 2와 비교되며, 등등.
function toInt(arr) {
    
    
	let newArr = arr.sort((a,b) => {
    
    
	  a+='';
		b+='';
		let aLen = a.length, bLen = b.length;
		let aIndex = 0, bIndex = 0;
		while(aIndex<=aLen && bIndex<bLen) {
    
    
			if(arr[aIndex]===arr[bIndex]) {
    
    
				aIndex + 1 < aLen && (aIndex++, flag=true);
				bIndex + 1 < bLen && (bIndex++, flag = true);
			} else {
    
    
				break
			}
			if(flag) break;
		}

		if(arr[aIndex]>arr[bIndex]) {
    
    
			return -1;
		} else {
    
    
			return 1;
		}
	})
	return newArr.join('')
}

추천

출처blog.csdn.net/weixin_44761091/article/details/123985575