본문 바로가기

Algorithm/Leet Code

LeetCode #217 ContainsDuplicate. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,문제해결능력,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술면접

LeetCode #217 ContainsDuplicate. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,문제해결능력,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술면접




 비주얼스튜디오에 전에 풀었던게 몇개 있긴한데, 새로 풀면서 하나씩 올리고 못푸는날은 전에 풀었던 것을 정리해서 올려야겠다.


두 종류로 풀었고, 두번째의 성능이 월등히 좋았다.


 I did twice, and 2nd one performance was much better than the 1st one.




LeetCode #217

Q.

Given an array of integers, find if the array contains any duplicates.


Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.


주어진 정수들 배열에서, 배열이 어떤 중복되는 것이 있는지 찾아봐라.


네 함수는 적어도 두개가 있는 값이 배열안에 있다면 true 이고, 모든 값이 한개씩이라면 (distinct 하다면) false 를 반환한다.



e.g. 


Example 1:


Input: [1,2,3,1]

Output: true



Example 2:


Input: [1,2,3,4]

Output: false



Example 3:


Input: [1,1,1,3,3,4,3,2,4,2]

Output: true




//Process 1

//1. Input integer vector

//2. Iterate from begin to the end

// 2.1. Iterate from i+1 to the end

//  2.1.1. Check if it has same value

//   2.1.1.1. If so -> true

//3. return false



//처리과정 1

//1. 정수 배열을 입력받는다.

//2. 시작부터 끝까지 반복한다.

// 2.1. 앞의 인덱스+1 부터 끝까지 반복한다.

//  2.1.1. 중복이 있는지 체크하고

//   2.1.1.1. 중복이 있으면 true 반환

//3. 없었으면 false 반환



//Process 2

//1. 정수 배열을 입력받는다.

//2. 정렬한다.

//3. 시작부터 끝-1 까지 반복한다.

// 3.1. 인덱스와 인덱스+1 번째 값이 같은지 확인해서

//  3.1.1. 같으면 -> true

//4. 없었다면 false



//처리과정 2

//1. Input integer vector

//2. Sort vector

//3. Iterate from begin to the end-1

// 3.1. Check if [i] and [i+1] are the same or not

//  3.1.1. If same -> true

//4. Didn't have same thing -> false;





Code.. lemme see code!!!

코드.. 코드를 보자!!!




// First 1


class Solution {

public:

    bool containsDuplicate(vector<int>& nums) {

        bool answer = false;


int j;


for (int i = 0; i < nums.size(); ++i)

{

j = i + 1;

while (j < nums.size())

{

if (nums.at(i) == nums[j])

{

return true;

}

++j;

}

}

return answer;

    }

};



// Second 


class Solution {

public:

    bool containsDuplicate(vector<int>& nums) {

        bool answer = false;


        if (nums.size() > 0)

        {

            sort(nums.begin(), nums.end());


    for (int i = 0; i < nums.size() - 1; ++i)

    {

    if (nums[i] == nums[i + 1])

    {

    return true;

    }

    }

        }

return answer;

    }

};






Something else you might like...?





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

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

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

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

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

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

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

2019/01/02 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #52 longestWord. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar

2019/01/01 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #51 deleteDigit. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar

2018/12/31 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #50 chessKnight. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제, example, c++ java c# scalar



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)



2018/12/26 - [Programming/Java] - JavaFx, how to show actual size image bigger than pane using scroll, 실제 크기 이미지를 스크롤바 사용하여 보여주는 방법, Java/cpp/kotlin/gui


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



2018/12/16 - [Life/Health care] - L-Arginine 아르기닌 usage/side effects/dosage 효능/부작용/성인,소아 용법(2)

2018/12/27 - [Life/Health care] - Milk-Thistle 밀크시슬 usage/side effects/dosage/fatigue/supplement,효능/부작용/성인,소아 용법/건강/피로회복/영양제

2018/12/26 - [Life/Health care] - Selenium 셀레늄 usage/side effects/dosage 효능/부작용/성인,소아 용법