From 3939fe45570b1bdcb183fc1d40e855554402b76a Mon Sep 17 00:00:00 2001 From: Kagura Date: Wed, 7 Aug 2024 12:53:34 +0800 Subject: [PATCH] 0806 --- src/Main.kt | 2 +- src/Test118.kt | 20 ++++++++++++++++++++ src/Test136.kt | 11 +++++++++++ src/Test169.kt | 7 +++++++ src/Test198.kt | 31 +++++++++++++++++++++++++++++++ src/Test70.kt | 21 +++++++++++++++++++++ src/Test75.kt | 33 +++++++++++++++++++++++++++++++++ 7 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 src/Test118.kt create mode 100644 src/Test136.kt create mode 100644 src/Test169.kt create mode 100644 src/Test198.kt create mode 100644 src/Test70.kt create mode 100644 src/Test75.kt diff --git a/src/Main.kt b/src/Main.kt index adf680b..8dc2b2c 100644 --- a/src/Main.kt +++ b/src/Main.kt @@ -1,4 +1,4 @@ fun main() { - val t = Test20() + val t = Test75() t.test() } \ No newline at end of file diff --git a/src/Test118.kt b/src/Test118.kt new file mode 100644 index 0000000..2783ac3 --- /dev/null +++ b/src/Test118.kt @@ -0,0 +1,20 @@ +class Test118 { + class Solution { + fun generate(numRows: Int): List> { + var result = arrayOf(listOf(1)) + for (i in 1..(nums.size){-1} + fun gain(k: Int): Int { + if (cache[k]!=-1){ + return cache[k] + } + cache[k]= when (k) { + 0 -> nums[0] + 1 -> max(nums[0],nums[1]) + else -> { + max(gain(k-2)+nums[k],gain(k-1)) + } + } + return cache[k] + } + return gain(nums.size-1) + } + } + + fun test(): Unit { + println(Solution().rob(intArrayOf(1,2,3,1))) + println(Solution().rob(intArrayOf(2,7,9,3,1))) + println(Solution().rob(intArrayOf(2,1,1,2))) + println(Solution().rob(intArrayOf(2,1))) + println(Solution().rob(intArrayOf(114,117,207,117,235,82,90,67,143,146,53,108,200,91,80,223,58,170,110,236,81,90,222,160,165,195,187,199,114,235,197,187,69,129,64,214,228,78,188,67,205,94,205,169,241,202,144,240))) + } +} \ No newline at end of file diff --git a/src/Test70.kt b/src/Test70.kt new file mode 100644 index 0000000..24698bb --- /dev/null +++ b/src/Test70.kt @@ -0,0 +1,21 @@ +class Test70 { + class Solution { + fun climbStairs(n: Int): Int { + var last= 1 // 0 n-2 + var cur = 1 // 1 n-1 + var curCopy: Int + for (i in 2..n){ + curCopy = cur + cur += last + last = curCopy + } + return cur + } + } + + fun test(): Unit { + println(Solution().climbStairs(2)) + println(Solution().climbStairs(3)) + println(Solution().climbStairs(4)) + } +} \ No newline at end of file diff --git a/src/Test75.kt b/src/Test75.kt new file mode 100644 index 0000000..440d3b3 --- /dev/null +++ b/src/Test75.kt @@ -0,0 +1,33 @@ +class Test75 { + class Solution { + fun sortColors(nums: IntArray): Unit { + var l = 0 + var r = nums.size - 1 + var ptr = 0 + while (ptr <= r){ + when (nums[ptr]){ + 0 -> { + nums[ptr] = nums[l] + nums[l] = 0 + l++ + } + 2 -> { + nums[ptr] = nums[r] + nums[r] = 2 + r-- + ptr -- + } + else -> {} + } + ptr ++ + } + } + } + + fun test(): Unit { + Solution().sortColors(intArrayOf(2,0,2,1,1,0)) + Solution().sortColors(intArrayOf(2,0,1)) + Solution().sortColors(intArrayOf(1,2)) + Solution().sortColors(intArrayOf(1,2,0)) + } +} \ No newline at end of file