본문 바로가기

Algorithm/Leet Code

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

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




 2번과 비슷하여 쉽게 풀렸지만, abs 절대값 함수를 쓰는데 int 범위를 넘는 값이 예외 케이스를 만들어서 문법을 보느라 오래걸렸다.


31 / 41 test case


[2147483647,-2147483647]
1
2147483647


이 케이스인데,


예를 들어 abs(-2147483647) 이라 하면 안돼고, abs((long)-2147483647) 이런식으로 형변환 후 접근해야한다. 후..



 It was easy, but not that good performance. It's kinda similar with #2. So need to use map,, later. Anyway, it took long time cuz of abs function num type. I used long long int for abs, but return weird value.


31 / 41 test case


[2147483647,-2147483647]
1
2147483647


this case,


e.g. abs(-2147483647) it's uncorrect, we need to type conversion first like this... wf.. abs((long)-2147483647) 



LeetCode #219

Q.

Given an array of integers, find out whether there are two distinct indices i and j in the array such that the absolute difference between nums[i] and nums[j] is at most t and the absolute difference between i and j is at most k.


 주어진 정수배열에서, 떨어져있는 인덱스 i 와 j 값의 차이가 nums[i] nums[j] 최대 t 만큼 차이나고, 인덱스 자체의 차이는 k 만큼 차이나는 것이 있는지 찾아보아라. (k 는 index 차이의 한계점, t 는 값의 한계점)


e.g. 


Example 1:


Input: nums = [1,2,3,1], k = 3, t = 0

Output: true

Example 2:


Input: nums = [1,0,1,1], k = 1, t = 2

Output: true

Example 3:


Input: nums = [1,5,9,1,5,9], k = 2, t = 3

Output: false




//Process 1

//1. Input integer vector, integer k and integer t

//2. Iterate from begin to the end

// 2.1. Check if value[i] has abs diff t ranging in index k

//  2.1.1. if so -> true

//3. return answer  



//처리과정 1

//1. 정수배열과 정수 k, 정수 t 를 입력받는다.

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

// 2.1. 인덱스 i 의 값이, 인덱스 i 에서 k 범위 내의 값과, 값이 t 차이 내에 해당하는 것이 있는지 확인한다.

//  2.1.1. 있으면 - true

//3. 결과 반환한다.




Code.. lemme see code!!!

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




// First 1


class Solution {

public:

    bool containsNearbyAlmostDuplicate(vector<int>& nums, int k, int t) {

        bool answer = false;

        

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

        {

            for (int j = i+1; j < nums.size() && j <= i+k; ++j)

            {

                if (abs((long)nums[i] - (long)nums[j]) <= t)

                {

                    return true;

                }

                // int64_t temp = (long)nums[i] - (long)nums[j];

                // if (temp < 0)

                // {

                //     temp = (-temp);

                // }

                // if (temp <= t)

                // {

                //     cout << temp << endl;

                //     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 효능/부작용/성인,소아 용법