๐ algorithm/leetcode
LeetCode 230 - Kth Smallest Element in a BST (Medium)
HandHand
2021. 3. 2. 17:27
๋ฌธ์
ํ์ด ๊ณผ์
์ด์ง ๊ฒ์ ํธ๋ฆฌ
์์ k๋ฒ์งธ ์์๋ฅผ ์ฐพ๋ ๋ฌธ์ ์
๋๋ค. ์ด์ง ๊ฒ์ ํธ๋ฆฌ
๋ ๋ฃจํธ ๋
ธ๋๊ฐ ํด๋น ๋
ธ๋์ ์ผ์ชฝ ์์ ๋
ธ๋๋ณด๋ค ํฌ๊ณ ์ค๋ฅธ์ชฝ ๋
ธ๋๋ณด๋ค ์์ ๊ฐ์ ๊ฐ์ง๋๋ค.
๋ฐ๋ผ์ ์ด๋ฅผ ์ค์ ์ํ
ํ ๊ฒฝ์ฐ ํค ๊ฐ์ด ์ ๋ ฌ๋ ์์๋๋ก ๋ฐฉ๋ฌธํ๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
์ด๋ฅผ ํ์ฉํ์ฌ ์ค์ ์ํ๋ฅผ ํ๋ ํจ์๋ฅผ ๋ง๋ค๊ณ k
๋ฒ์งธ ๋
ธ๋์ ๋ฐฉ๋ฌธํ์ ๋๋ฅผ ๊ธฐ๋กํ์ฌ ๋ต์ ๊ตฌํ๋๋ก ํ์์ต๋๋ค.
์ฝ๋
/**
* @param {number[]} nums
* @return {number}
*/
var rob = function (nums) {
const memo = new Array(nums.length).fill(-1);
function dp(i) {
if (i >= nums.length) return 0;
if (i === nums.length - 1) return nums[i];
if (memo[i] !== -1) return memo[i];
memo[i] = Math.max(dp(i + 1), dp(i + 2) + nums[i]);
return memo[i];
}
return dp(0);
};
๋ฐ์ํ