509
This commit is contained in:
14
include/solution/509.h
Normal file
14
include/solution/509.h
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
// This file is generated by mkfile.py
|
||||||
|
// Date: 2025-12-05
|
||||||
|
|
||||||
|
#ifndef INC_509_H
|
||||||
|
#define INC_509_H
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
{
|
||||||
|
#endif
|
||||||
|
int fib(int n);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif // INC_509_H
|
||||||
14
src/509.c
Normal file
14
src/509.c
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
// This file is generated by mkfile.py
|
||||||
|
// Date: 2025-12-05
|
||||||
|
|
||||||
|
#include <solution/509.h>
|
||||||
|
int fib(int n)
|
||||||
|
{
|
||||||
|
int dp[n + 1];
|
||||||
|
dp[0] = 0;
|
||||||
|
if (n >= 1)
|
||||||
|
dp[1] = 1;
|
||||||
|
for (int i = 2; i <= n; i++)
|
||||||
|
dp[i] = dp[i - 1] + dp[i - 2];
|
||||||
|
return dp[n];
|
||||||
|
}
|
||||||
39
tests/test_509.cpp
Normal file
39
tests/test_509.cpp
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
// This file is generated by mkfile.py
|
||||||
|
// Date: 2025-12-05
|
||||||
|
|
||||||
|
#include <gtest/gtest.h>
|
||||||
|
#include <solution/509.h>
|
||||||
|
// Tests for fib (LeetCode 509)
|
||||||
|
class FibTest : public ::testing::Test
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
void AssertFib(int n, int expected)
|
||||||
|
{
|
||||||
|
ASSERT_EQ(fib(n), expected);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
TEST_F(FibTest, Zero)
|
||||||
|
{
|
||||||
|
AssertFib(0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(FibTest, One)
|
||||||
|
{
|
||||||
|
AssertFib(1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(FibTest, Two)
|
||||||
|
{
|
||||||
|
AssertFib(2, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(FibTest, Ten)
|
||||||
|
{
|
||||||
|
AssertFib(10, 55);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_F(FibTest, Twenty)
|
||||||
|
{
|
||||||
|
AssertFib(20, 6765);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user