
宫水三叶的刷题日记
ClimberCoding
基础不牢,地动山摇…
展开
-
LeetCode 1137、第 N 个泰波那契数
动态规划 1137. 第 N 个泰波那契数 题目 题解 前面一道斐波那契数列的升级版,定义三个变量递增即可 class Solution { int a[4] = {0, 1, 1}; public: int tribonacci(int n) { if (n < 3) return a[n]; for (int i = 3; i <= n; ++i) { a[3] = a[0] + a[1] + a[2];原创 2021-11-10 12:38:47 · 114 阅读 · 0 评论 -
剑指 Offer 10- I. 斐波那契数列
动态规划 剑指 Offer 10- I. 斐波那契数列 题目 题解 状态转移方程已给出,直接推导就行 class Solution { int mod = (int)1e9+7; // 注意题目要求,取模 public: int fib(int n) { if (n < 2) { return n; } int first = 0; int second = 1; int res原创 2021-11-10 12:38:00 · 66 阅读 · 0 评论 -
LeetCode 019、删除链表的倒数第N个结点
LeetCode 019、删除链表的倒数第N个结点 题目 题解 设置快慢指针解决 class Solution { public: ListNode* removeNthFromEnd(ListNode* head, int n) { ListNode* dummy = new ListNode(-1); dummy->next = head; ListNode* slow = dummy, *fast = head; whi原创 2021-10-06 18:03:24 · 94 阅读 · 0 评论 -
LeetCode 023、合并k个升序链表
LeetCode 023、合并k个升序链表 题目 题解 class Solution { public: struct comp { bool operator()(ListNode* a, ListNode* b) { return a->val > b->val; } }; ListNode* mergeKLists(vector<ListNode*>& lists) {原创 2021-10-06 17:25:47 · 127 阅读 · 0 评论 -
LeetCode 021、合并两个有序链表
leetcode 021、合并两个有序链表 题目 题解 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNod原创 2021-10-06 16:39:53 · 115 阅读 · 0 评论