본문 바로가기

Algorithm/Leet Code

LeetCode #496 NextGreaterElement1. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,그래프,Graph,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술면접, 데이터..

LeetCode #496 NextGreaterElement1. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,그래프,Graph,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술면접, 데이터베이스, sql, query, 쿼리

 

 

Runtime: 8 ms, faster than 97.38% of C++ online submissions for Next Greater Element I.

 

Memory Usage: 8.9 MB, less than 100.00% of C++ online submissions for Next Greater Element I.

 

 

 

LeetCode #496

Q.

 You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of nums2. Find all the next greater numbers for nums1's elements in the corresponding places of nums2.

The Next Greater Number of a number x in nums1 is the first greater number to its right in nums2. If it does not exist, output -1 for this number.

 

 두개의 정수 배열 num1, num2 가 있고 (중복되는 숫자가 없는), num1 은 num2 의 부분집합 값들이다.

num1 에 있는 모든 각 값에서, num1 의 값과 같은 num2 의 값 위치에서, 그 이후로 나오는 더 큰 수의 값을 찾아라.

 

 num1 의 숫자값 x 의 다음번 큰 숫자는 num2 에서 오른쪽에 처음으로 나오는 더 큰 수 이다. 없으면 -1 을 내보낸다.

 

 

 

Example 1:

 

Input: nums1 = [4,1,2], nums2 = [1,3,4,2].

 

Output: [-1,3,-1]

 

Explanation: For number 4 in the first array, you cannot find the next greater number for it in the second array, so output -1. For number 1 in the first array, the next greater number for it in the second array is 3. For number 2 in the first array, there is no next greater number for it in the second array, so output -1.

 

 

 

Example 2:

 

Input: nums1 = [2,4], nums2 = [1,2,3,4].

 

Output: [3,-1]

 

Explanation: For number 2 in the first array, the next greater number for it in the second array is 3. For number 4 in the first array, there is no next greater number for it in the second array, so output -1.

 

 

 

Note:

  1. All elements in nums1 and nums2 are unique.
  2. The length of both nums1 and nums2 would not exceed 1000.

 

 

Process

// Process 
//1. Input num1, num2 int vectors
//2. 

 

 

// 처리과정

//1. 숫자배열 num1, num2 입력 받는다.

//2. num1 의 시작부터 끝까지 반복한다. (i)

// 2.1. num2 의 시작부터 끝까지 반복한다. (j)

//  2.1.1. num1[i] 의 값이 num2[j] 와 같은지 확인해서 같으면

//  2.1.2. 해당 j 위치 인덱스 찾아두고 반복 종료한다.

// 2.2. num2 j 위치부터 끝까지 반복한다. (j)

//  2.2.1. num1[i] 값보다 더 큰 값이 있으면

//   2.2.1.1. 결과값 배열에 값을 저장하고 반복 종료한다.

// 2.3. 더 큰값이 없었으면

//  2.3.1. 결과값 배열에 -1 값을 저장한다.

//3. 결과값 배열 반환한다.

 

 

 

Code.. lemme see example code!!!

코드.. 예제코드를 보자!!!

 

 

 

class Solution {
public:
    vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {
        vector<int> resultVector;
        
        for (int i = 0; i < nums1.size(); ++i) {
            int temp = nums1[i];
            bool isDone = false;
            int j = 0;
            while (!isDone && j < nums2.size()) {
                if (temp == nums2[j]) {
                    isDone = true;
                }
                ++j;
            }
            
            if (isDone) {
                isDone = false;
                while (!isDone && j < nums2.size()) {
                    if (temp < nums2[j]) {
                        isDone = true;
                        --j;
                    }
                    ++j;
                }
                if (isDone)
                    resultVector.push_back(nums2[j]);
                else
                    resultVector.push_back(-1);
            }
        }
        
        return resultVector;
    }
};

 

 

 

Something else you might like...?

 

 

2019/12/19 - [Algorithm/Leet Code] - LeetCode #706 DesignHashMap. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,그래프,Graph,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술면접, 데이터베이..

2019/12/11 - [Algorithm/Leet Code] - LeetCode #1047 RemoveAllAdjacentDuplicatesInString. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,그래프,Graph,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술..

2019/12/06 - [Algorithm/Leet Code] - LeetCode #844 BackspaceStringCompare. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,그래프,Graph,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술면접, 데이..

 

 

 

2019/11/02 - [Algorithm/Code Fights (Code Signal)] - CodeSignal Intro Databases #7 MostExpensive. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,그래프,Graph,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술면접, ..

2019/10/31 - [Algorithm/Code Fights (Code Signal)] - CodeSignal Intro Databases #6 VolleyballResults. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,그래프,Graph,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술면..

 

 

2019/08/14 - [Life/Item review] - Mi Band 4 review, 미밴드4 후기, 장점, 단점, 리뷰, 한글, global review, 미밴드4 글로벌 후기, 리뷰, 구매, 사용방법, setting, 세팅, ProsNCons

 

 

2018/10/19 - [Programming/Design Pattern ] - Design pattern - Prototype (디자인패턴 - 프로토타입) / Java C++ C#

 

 

2019/01/12 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #60 sudoku. Algorithm,알고리즘,Codefights,CodeSignal,코드파이트,코드시그널,예제,문제해결능력,example,c++,java,재귀,recursive

2019/01/12 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #59 spiralNumbers. Algorithm,알고리즘,Codefights,CodeSignal,코드파이트,코드시그널,예제,문제해결능력,example,c++,java,재귀,recursive

 

 

2018/12/28 - [Programming/Software Architecture] - Perfecting OO's Small Classes and Short Methods. 완벽한 객체지향의 작은 클래스와 짧은 메소드, Book:ThoughtWorks Anthology, Java,cpp,자바,oop,좋은코드,객체지향프로그래밍 - (#9, Tell, Don't Ask)

2018/12/26 - [Programming/Software Architecture] - Perfecting OO's Small Classes and Short Methods. 완벽한 객체지향의 작은 클래스와 짧은 메소드, Book:ThoughtWorks Anthology, Java,cpp,자바,oop,좋은코드,객체지향프로그래밍 (1)

 

 

2019/01/14 - [Programming/Java] - 자바 메모리 누수 체크/확인/고치는 방법, Memory leak check/fix in Java application, cleanCode/좋은코드/oop/객체지향

 

 

2019/02/19 - [Life/Health care] - Lysine 라이신 usage/side effects/dosage 효과/효능/부작용/성인,소아 용법, 복용법

2019/02/16 - [Life/Health care] - Finasteride 피나스테라이드,탈모약 usage/side effects/dosage 효능/부작용/효과/sexual effect/두타스테라이드/프로페시아/propecia/finpecia/카피약/copy drug/hair loss

2019/02/25 - [Life/Health care] - Folic Acid 엽산 vitaminB9,비타민M usage/side effects/dosage 효과/효능/부작용/성인,소아 용법, 복용법

2019/02/28 - [Life/Health care] - Vitamin K, 비타민 K usage/side effects/dosage 효능/부작용/성인,소아 용법

2019/03/03 - [Life/Health care] - Vitamin B1, Thiamine, 비타민 B1, 티아민 usage/side effects/dosage 효능/부작용/성인,소아 용법