![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C/C++
文章平均质量分 88
#
ACTIM__
ACTIM
展开
-
LeetCode刷题: 【820】单词的压缩编码(字典树、后缀匹配)(c++ 遍历 map)
1. 题目2. 思路官方题解【1. 后缀记录】【2. 字典树】其他题解【3. 反转排序】3. 代码(字典树)/*** 字典树结点*/class Tree{private: unordered_map<char, Tree*> node;public: bool add(char c){ if(node[c] != 0){ ...原创 2020-03-29 01:06:57 · 359 阅读 · 0 评论 -
【剑指Offer】面试题40. 最小的k个数(c++ 优先队列 [priority_queue] / 第n大元素线性时间选择 [nth_element])
题目解法一:选择排序 (前n)O(n * k)class Solution {public: vector<int> getLeastNumbers(vector<int>& arr, int k) { vector<int> ans(k); for(int i = 0; i < k; i++){...原创 2020-03-20 21:27:52 · 378 阅读 · 0 评论 -
【剑指Offer】面试题59 - II. 队列的最大值(c++)
题目https://leetcode-cn.com/problems/dui-lie-de-zui-da-zhi-lcof/解题思路使用一个双向链表辅助,保存最大值序列Note:链表中小于后插入的元素的元素,对结果没有影响代码class MaxQueue {private: queue<int> que; list<int> que_vice;...原创 2020-03-07 17:50:54 · 315 阅读 · 1 评论 -
LeetCode刷题: 【206】反转链表(c++)
1. 题目反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL2. 解题思路只需转换每个箭头的方向即可,例如 Node0->Node1->Node2只需Node0.next = NULLNode1.next = Node0Node2.next ...原创 2020-03-02 22:46:28 · 175 阅读 · 0 评论 -
LeetCode刷题: 【225】用队列实现栈(c++)
1. 题目描述使用队列实现栈的下列操作:push(x) -- 元素 x 入栈pop() -- 移除栈顶元素top() -- 获取栈顶元素empty() -- 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是push to back,peek/pop from front,size, 和is empty这些操作是合法的。你所使用的语言也许不支持队列。 你可以使用 l...原创 2020-03-01 15:24:19 · 182 阅读 · 0 评论 -
LeetCode刷题: 【1160】 拼写单词(c++语法相关:map遍历、for标签)
1. 题目2. 解题思路计数即可3. 代码class Solution {public: int countCharacters(vector<string>& words, string chars) { map<char, int> chars_map; for(char s : chars){ ...原创 2020-03-17 21:42:52 · 221 阅读 · 0 评论 -
0-1背包问题——回溯算法、递归、c语言实现
◉ 问题:给定n种物品和一个背包。假设物品i(1≤i≤n)的重量为w ,其价值为V,背包的容量为limit.物品i(1≤i≤n)装人背包时,或者不装人,或者全部装人,不能只装人物品i的一” 部分。问:应该如何选择物品装人背包,才能使背包内物品的总价值最大? ◉ 0-1背包问题求解过程:①定义一维数组w(n)储存物品的重量,一维数组v(n)储存物品的价值。②定义一维数组x(n)存...原创 2018-10-02 21:33:50 · 6433 阅读 · 1 评论