Leetcode-5147 감소 소자 어레이를 만들기 위해 지그재그 (지그재그 배열을 내림차순 요소되도록)

1  #DEFINE _for은 (ⅰ, A는 B)에 대한 (; 나는 B <I ++가 나는 = (a) INT)
 2 타입 정의  LL;
(3)  사용  스페이스 성병;
4 개  
5  클래스 해결
 6  {
 7      공개 :
 8          INT movesToMakeZigzag (벡터 < INT > & nums)
 9          {
 10              INT rnt1 = 0 ;
11              의 INT rnt2 = 0 ;
12              
13              _for (I, 1 , nums.size ())
 14             {
 15 일                  경우 (I 및 0x1로 )
 16                  {
 17 일                      경우 (I nums.size == () - 1 )
 18                      {
 19 일                          경우 (nums [I]> = nums [I- 1 ])
 20                          {
 21                              rnt1 + = nums [I - (nums [I- 1 ] - 1 );
22                          }
 23                      }
 24                      
25                      {
 26 일                          경우 (nums [I]> = nums [Ⅰ- 1] || nums [I]가> = nums [내가 + 1 ])
 27                          {
 28                              rnt1가 + = nums [내가] - (분 (nums [I- 1 ] nums [I + 1 ]) - 1 );
29                          }
 30                      }
 31                  }
 32                  
33              }
 34              _for (I, 0 , nums.size ())
 35              {
 36                  
(37)                  의 경우 ((I 및 0x1로 ) == 0 )
 38                  {
 39                      의 경우 (I ==0 )
 40                      {
 41                          의 경우 (nums [I]가> = nums [내가 + 1 ])
 42                          {
 43                              rnt2가 + = nums [I] - (nums [I + 1 ] - 1 );
44                          }
 45                      }
 (46)                      그 밖의  경우 (I nums.size == () - 1 )
 47                      {
 48                          의 경우 (nums [I]가> = nums [I- 1 ])
 49                          {
 50                              rnt2가 + = nums [내가] - (nums [나는-(1) ] - 1 );
51                          }
 52                      }
 53                      
54                      {
 55                          의 경우 (nums [I]> = nums [I- 1 ] || nums [I]는> = nums [난 + 1 ])
 56                          {
 57                              + = nums rnt2 [I]는 - (최소 (nums [I- 1 ] nums [I + 1 ]) - 1 );
58                          }
 59                      }
 60                  }
 61              //     COUT << rnt2 << ENDL; 
(62)             }
 63           //    COUT << rnt1 << ''<< rnt2 << ENDL; 
64              리턴 분 (rnt1, rnt2);
65          }
 66 };

 

추천

출처www.cnblogs.com/Asurudo/p/11297881.html