알고리즘 문제 (63): 정렬 하여 '수 열' 문 제 를 해결 합 니 다.
1536 단어 알고리즘
n 개의 정수 가 설치 되 어 있 고 그들 을 한 줄 로 연결 하여 가장 큰 여러 개의 정 수 를 구성한다.예 를 들 어 n = 3 시 에 3 개의 정수 가 13, 312, 343 이 고 연 결 된 최대 정 수 는 34331213 이다.예 를 들 어 n = 4 시 에 4 개의 정수 가 7, 13, 4, 246 로 연 결 된 최대 정 수 는 7424613 이다.
입력 설명:
, , N(N<=100), N ( 1000, )。
출력 설명:
。
예시 1
입력
2
12 123
4
7 13 4 246
출력
12312
7424613
분석 하 다.
숫자 에 따라 정렬 만 하면 된다.예 를 들 어 13, 312, 343 세 개의 숫자, 첫 번 째 숫자 가 가장 큰 것 은 343 과 312 이 고 앞 에 있 는 것 은 이 두 개의 숫자 중에서 선택 하 는데 이 두 번 째 숫자 중 두 번 째 숫자 가 가장 큰 것 은 343 이 므 로 343 이 가장 앞 선다.그 다음 에 13 과 312 줄 을 서 세 요.마지막 순 서 는 343, 312, 13.
두 개의 수 를 비교 할 때 문자열 을 통 해 's1 + s2' > 's2 + s1' 을 추가 할 수 있 습 니 다.
자주 사용 하 는 정렬 알고리즘 은 모두 사용 할 수 있 지만 두 개의 수 를 비교 하 는 데 는 위의 방법 에 따라 비교 해 야 한다.병합 정렬 을 사용 합 니 다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int[] arr = new int[n];
for(int i=0; i
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Codility Lesson3】FrogJmpA small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.