Leetcode与剑指Offer
算法刷题
YaMiwan
这个作者很懒,什么都没留下…
展开
-
预备知识:图的表示
邻接矩阵//// Created by YaMiwan on 2020-05-07.//#include <iostream>using namespace std;int main(){ const int MAX_N = 5; // 一共5个顶点 int Graph[MAX_N][MAX_N] = {0}; // 使用邻接矩阵表示 ...原创 2020-05-07 21:08:19 · 131 阅读 · 0 评论 -
路径之和2(LeetCode 113. Path Sum II)
题目描述思路C++代码//// Created by YaMiwan on 2020-05-06.//#include <iostream>#include <vector>using namespace std;//Definition for a binary tree node.struct TreeNode { i...原创 2020-05-07 01:07:13 · 128 阅读 · 0 评论 -
预备知识:二叉树前序遍历
题目描述C++代码//// Created by YaMiwan on 2020-05-05.//#include <iostream>#include <vector>using namespace std;struct TreeNode { // 二叉树结构 int val; // 数据域 TreeNode *left;...原创 2020-05-06 23:17:24 · 142 阅读 · 0 评论 -
回溯法:求子集(LeetCode 78. Subsets)
题目描述思考C++代码//// Created by YaMiwan on 2020-05-05.//#include <iostream>#include <vector>using namespace std;class Solution {public: vector<vector<int>> sub...原创 2020-05-06 22:41:03 · 424 阅读 · 0 评论 -
预备知识:回溯法
原创 2020-05-06 00:50:32 · 87 阅读 · 0 评论 -
预备知识:递归函数基础
1、题目描述C++代码//// Created by YaMiwan on 2020-05-05.//#include <iostream>#include <algorithm>#include <vector>using namespace std;void compute_sum(int i, int &sum){ /...原创 2020-05-06 00:48:26 · 96 阅读 · 0 评论 -
贪心算法:分发糖果/饼干(LeetCode 455. Assign Cookies)
题目描述或者思路C++代码//// Created by YaMiwan on 2020-05-05.//#include <iostream>#include <algorithm>#include <vector>using namespace std;class Solution {public: in...原创 2020-05-05 23:22:31 · 190 阅读 · 0 评论 -
预备知识:贪心算法(钞票支付问题)
题目描述思路C++代码//// Created by YaMiwan on 2020-05-04.//#include <iostream>using namespace std;int main(){ const int RMB[] = {100, 50, 20, 10, 5, 2, 1}; // 若无序,先从大到小排序 const ...原创 2020-05-05 00:01:55 · 900 阅读 · 0 评论 -
数组中第K大的数(LeetCode 215. Kth Largest Element in an Array)
题目描述在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。思路即维护一个K大小的最小堆...原创 2020-05-04 23:26:02 · 702 阅读 · 1 评论 -
预备知识:优先级队列(二叉堆)
二叉堆属性题目描述C++代码//// Created by YaMiwan on 2020-05-04.//#include <iostream>#include <queue>using namespace std;int main() { priority_queue<int> big_heap; // 默认构造是最大...原创 2020-05-04 22:23:24 · 102 阅读 · 0 评论 -
使用栈实现队列(LeetCode 232. Implement Queue using Stacks)
题目描述使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2);queue.peek(); // 返回 1queue.pop(...原创 2020-05-03 23:45:16 · 117 阅读 · 0 评论 -
使用队列实现栈(LeetCode 225. Implement Stack using Queues)
题目描述使用队列实现栈的下列操作:push(x) – 元素 x 入栈pop() – 移除栈顶元素top() – 获取栈顶元素empty() – 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。你所使用的语言也许不支持队列。 你可以使用 list 或者 ...原创 2020-05-03 23:10:46 · 91 阅读 · 0 评论 -
预备知识:队列
C++代码//// Created by YaMiwan on 2020-05-02.//#include <iostream>#include <queue>using namespace std;int main(){ queue<int> Q; if (Q.empty()){ printf("Q is...原创 2020-05-03 21:57:06 · 93 阅读 · 0 评论 -
预备知识:栈
S.top() // 取栈顶元素值S.pop() // 弹出栈顶元素S.push(x) // 将x添加至栈S.empty() // 判断栈是否为空S.size() // 栈的存储元素个数C++代码//// Created by YaMiwan on 2020-05-02.//#include <iostream>#include <stack>...原创 2020-05-03 00:48:39 · 76 阅读 · 0 评论 -
反转链表(LeetCode 206. Reverse Linked List)
题目描述(LeetCode 206. Reverse Linked List)反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL思路C++代码//// Created by YaMiwan on 2020-05-02.//#include <...原创 2020-05-02 23:26:09 · 228 阅读 · 0 评论 -
预备知识:链表基础
题目描述C++代码//// Created by YaMiwan on 2020-05-02.//#include <iostream>using namespace std;struct ListNode { // 定义结构体描述一个节点 int val; // 存储元素的数据域 ListNode *next; // 存储下一个节点地址的指针...原创 2020-05-02 02:11:21 · 86 阅读 · 0 评论