
刷题
我秃了,也变强了
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
刷题 数组
文章目录数组中出现次数超过一半的数字(剑指offer 39)数组中的第K个最大元素(leetcode 215)数组中出现次数超过一半的数字(剑指offer 39)题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。解题思路:...原创 2019-08-19 09:54:53 · 215 阅读 · 0 评论 -
刷题 堆
@ toc[ ]#include<assert.h>class Solution {private: vector<int> min_heap ; vector<int> max_heap ;public: void Insert(int num) { if (((min_heap.size() + max_heap.size()) &am...原创 2019-08-19 10:14:30 · 182 阅读 · 0 评论 -
刷题 回溯算法
文章目录1、字符串的排列(剑指offer 38)1、字符串的排列(剑指offer 38)题目描述:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。解题思路:字符串全排列问题,可以...原创 2019-08-16 16:32:46 · 325 阅读 · 0 评论 -
刷题 树
文章目录二叉树1.二叉树搜索树与双向链表(剑指offer 36)2.序列化二叉树(剑指offer 37)二叉树1.二叉树搜索树与双向链表(剑指offer 36)题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。解题思路:首先明白二叉搜索树的原理,每个结点的左结点均小于根节点,右节点均大于根节点,故转为排序的双向链...原创 2019-08-16 16:33:12 · 219 阅读 · 0 评论 -
刷题 动态规划
文章目录剪绳子(剑指offer 14 or leetcode 343 整数拆分)动态规划法:* 动态规划求解问题的四个特征:①求一个问题的最优解;②整体的问题的最优解是依赖于各个子问题的最优解;③小问题之间还有相互重叠的更小的子问题;④从上往下分析问题,从下往上求解问题;剪绳子(剑指offer 14 or leetcode 343 整数拆分)题目: 给你一根长度为n绳子...原创 2019-08-16 20:43:50 · 274 阅读 · 0 评论 -
刷题 01背包
文章目录经典01背包问题经典01背包问题问题描述:现有一个容量大小为V的背包和N件物品,每件物品有两个属性,体积和价值,请问这个背包最多能装价值为多少的物品?输入描述:第一行两个整数V和n。接下来n行,每行两个整数体积和价值。1≤N≤1000,1≤V≤20000。每件物品的体积和价值范围在[1,500]。输出描述:输出背包最多能装的物品价值。动态规划思路:问题抽象化—建立模型...原创 2019-08-30 19:45:29 · 311 阅读 · 0 评论 -
刷题 深度优先搜索(dfs)
1原创 2019-09-04 15:53:02 · 277 阅读 · 0 评论 -
刷题 广度优先搜索(bfs)
1.二叉树的层次遍历题目:给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)思路:此题需要熟悉二叉树的层次遍历,对于常见的层次遍历是利用队列(先进先出)的特性进行实现的,总的思路就是我们每遍历一个节点就把该节点的左孩子和右孩子放进队列(顺序很重要),然后遍历完这个节点之后就从队列中取出头节点(取出的节点有可能是右边的同层节点,也有可能...原创 2019-09-04 15:53:41 · 271 阅读 · 0 评论 -
刷题 链表
文章目录1.复制带随机指针的链表1.复制带随机指针的链表解题思路: 采用原地复制的思想。时间复杂度:O(n) 空间复杂度:O(1)复制节点,同时将复制节点链接到原节点后面,如A->B->C 变为 A->A’->B->B’->C->C’。设置节点random值。将复制链表从原链表分离。/*// Definition for a ...原创 2019-09-15 10:15:44 · 301 阅读 · 0 评论