2020 상탕 8월 19일 필기시험 문제 2 최대 증가 서열과 최대 감소 서열

제목: 만약에 하나의 정형수조 A의 연속 자수조 B가 다음과 같은 성질을 만족시킨다면 우리는 이 자수조를'산봉우리'len(B)>=3에 변수 i가 존재한다. 0...B[len(B)-1]B가 A일 수도 있다. 지금 하나의 수조 A를 제시하고 가장 긴 산봉우리의 길이를 찾아 산봉우리가 없으면 0을 출력한다.
  :
N     
N          

  :
       

방법: 동적 기획 사고방식: 두 부분으로 전환된 1차원 동적 기획(1) 왼쪽이 연속적으로 상승한다. 만약에 오른쪽의 수>왼쪽의 수가 있으면left오른쪽=left왼쪽+1;(2) 오른쪽 연속 하락: 왼쪽 수 > 오른쪽 수가 있으면 라이트 왼쪽 = 라이트 오른쪽 +1;만약에 만족하지 않으면 각 지역에서 1로 초기화하고 max를 정의하여 그룹을 훑어보고 right+left의 가장 큰 하표를 구한다. 마지막에 산봉우리가 두 번 계산했기 때문에 하나를 빼야 한다. 만약에 마지막에 max가 >=3 & 이 점의 left와 right가 동시에 >=2가 없으면 산봉우리를 구성할 수 없다.
코드:
 public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] nums = new int[n];
        for (int i = 0; i array[i-1]){
                left[i]=left[i-1]+1;
            }else{
                left[i]=1;
            }
        }
        //     
        right[array.length-1]=1;
        for (int i = array.length-2; i>=0 ; i--) {
            if(array[i]>array[i+1]){
                right[i]=right[i+1]+1;
            }else{
                right[i]=1;
            }
        }
        int max=0,j;
        for (int i = 0; i =4&&right[j]>=2&&left[j]>=2){
            return max-1;
        }
        return 0;
    }

좋은 웹페이지 즐겨찾기