自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (3)
  • 收藏
  • 关注

原创 leedcode题解-二叉树

94. 二叉树的中序遍历 给定一个二叉树,返回它的中序遍历。(进阶:递归算法很简单,你可以通过迭代算法完成吗?) 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] class Solution { public: vector<int> inorderTraversal(TreeNode...

2019-05-09 14:24:32 263

原创 leedcode题解-动态规划

递归和动态规划都是将原问题拆成多个子问题然后求解,他们之间最本质的区别是,动态规划保存了子问题的解,避免重复计算。 1、爬楼梯 70. Climbing Stairs (Easy) 3、矩阵的最小路径和 64. Minimum Path Sum (Medium) 思路:创建与grid相同大小的dp表,dp[i][j]表示从(0,0)到(i,j)的最短路径。由于第0行上的值只能由左边的值往...

2019-05-06 10:55:03 230

原创 leedcode题解-搜索

1、组成整数的最小平方数数量 279. Perfect Squares (Medium) 输入: n = 12 输出: 3 解释: 12 = 4 + 4 + 4.BFS广度优先搜索一层一层地进行遍历,每层遍历都以上一层遍历的结果作为起点,遍历一个距离能访问到的所有节点。需要注意的是,遍历过的节点不能再次被遍历。 思路:用层序遍历的BFS思想,一层一层的遍历(通过控制队列的size),第一次找...

2019-04-09 16:21:11 304

转载 C++中list用法详解

1.关于list容器 list是一种序列式容器。list容器完成的功能实际上和数据结构中的双向链表是极其相似的,list中的数据元素是通过链表指针串连成逻辑意义上的线性表,也就是list也具有链表的主要优点,即:在链表的任一位置进行元素的插入、删除操作都是快速的。list的实现大概是这样的:list的每个节点有三个域:前驱元素指针域、数据域和后继元素指针域。前驱元素指针域保存了前驱元素的首地址;...

2019-04-03 09:17:09 4862

原创 leedcode题解-贪心

1、分配饼干 455. Assign Cookies (Easy) 题目描述:每个孩子都有一个满足度,每个饼干都有一个大小,只有饼干的大小大于等于一个孩子的满足度,该孩子才会获得满足。求解最多可以获得满足的孩子数量。 Input: [1,2], [1,2,3] Output: 2 思路:对饼干大小、孩子的满足度排序,尽最大可能满足更多的孩子; class Solution { publ...

2019-04-02 16:37:20 213

原创 leedcode题解-二分查找

1、求开方 69. Sqrt(x) (Easy) 利用二分查找的思想,因为sqrt所在的区间肯定在1~x之间,又有sqrt==x/sqrt,sqrt=x/mid,通过比较sqrt与mid的大小,若mid>sqrt,往mid左边走,若mid较小,mid<sqrt往mid右边走,知道走到一个i的平方<x,i+1的平方>x的位置,此时end<start,跳出循环,end...

2019-04-02 16:36:27 193

原创 leedcode题解2-排序

1、Kth Element 215. Kth Largest Element in an Array (Medium) 题目描述:找到第 k 大的元素。 快速选择 :时间复杂度 O(N),空间复杂度 O(1) class Solution { public: int findKthLargest(vector<int>& nums, int k) { ...

2019-03-30 14:53:53 184

原创 Leetcode 题解 - 双指针

1、有序数组的 Two Sum 题目描述:在有序数组中找出两个数,使它们的和为 target。 定义前后指针,若两指针所指的值大于target,则右指针往左走,sum减小,若小于则左指针往右走,sum增大。 class Solution { public: vector<int> twoSum(vector<int>& numbers, int ta...

2019-03-27 20:10:40 377

转载 [LeetCode] Longest Word in Dictionary through Deleting 删除后得到的字典中的最长单词

class Solution { public: string findLongestWord(string s, vector<string>& d) { sort(d.begin(), d.end(), [](string a, string b){ if (a.size() == b.size()) return a &l...

2019-03-27 19:00:17 118

原创 string::npos的用法

npos可以表示string的结束位子,是string::type_size类型的,也就是find()返回的类型。find函数在找不到指定值得情况下会返回string::npos。

2019-03-27 14:22:51 308

转载 c++运算符优先级

转自:https://www.cnblogs.com/kubixuesheng/p/4072608.html 1、首先永远忘不了的是,逗号运算符级别最低,毫无争议的还有()括起来的,人工设定了最高优先级,先算括号里的。 2、非人为的,就是四个,函数调用(),[]数组下标,点运算符,间接->运算符。他们是优先级最高的,从左到右。拿->记忆结合性 3、还有最起码知道,所有的单目运算符...

2019-03-23 15:39:28 2614

原创 堆化-将数组排成小根堆

给出一个整数数组,堆化操作就是把它变成一个最小堆数组。 对于堆数组A,A[0]是堆的根,并对于每个A[i],A [i * 2 + 1]是A[i]的左儿子并且A[i * 2 + 2]是A[i]的右儿子。 class Solution { public: /* * @param A: Given an integer array * @return: nothi...

2019-03-11 10:21:36 1396

原创 前缀树的实现c++

class TrieNode{ public: TrieNode *child[26];//定义一个长度为26的数组(字符的取值为a~z)存放的是TrieNode结点型数据 bool isword; TrieNode():isword(false){ for(int i=0;i&lt;26;i++){ child[i]=nu...

2019-03-07 15:00:23 286

原创 岛问题求解

一个矩阵中只有0和1两种值, 每个位置都可以和自己的上、 下、 左、 右四个位置相连 如果有一片1连在一起, 这个部分叫做一个岛, 求一个矩阵中有多少个岛? 举例: 0 0 1 0 1 0 1 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 这个矩阵中有三个岛 解:矩阵数量较少时,用递归函数解决 public class Islands { //求有多少个岛 ...

2019-03-07 10:25:04 188

转载 转载-并查集详解

江湖上散落着各式各样的大侠,有上千个之多。他们没有什么正当职业,整天背着剑在外面走来走去,碰到和自己不是一路人的,就免不了要打一架。但大侠们有一个优点就是讲义气,绝对不打自己的朋友。而且他们信奉“朋友的朋友就是我的朋友”,只要是能通过朋友关系串联起来的,不管拐了多少个弯,都认为是自己人。这样一来,江湖上就形成了一个一个的帮派,通过两两之间的朋友关系串联起来。而不在同一个帮派的人,无论如何都无法通过...

2019-03-07 10:00:58 355

原创 翻转单词顺序列

剑指offer上的题,翻转单词顺序。这道题的思路是先整体翻转,再分别翻转每一个单词。如student. a am I,整体翻转后为 I ma a .tneduts,分别翻转后则为I am a student. 第一个代码是看了别人的解答写出来的,后面的是自己一开始码的。。。思路太过限制了,记录下来勉励一下自己,再进一步提升和认真学习吧~fighting class Solution { p...

2019-03-06 17:17:00 139

原创 二叉树的序列化与反序列化

class Solution { public: /** * This method will be invoked first, you should design your own algorithm * to serialize a binary tree which denote by a root node to a string which * can be easily deseri...

2019-03-05 16:26:24 249

原创 验证二叉搜索树

由于二叉搜索树的中序遍历是一个递增序列,我们只需要把这个中序遍历保存下来,再判断这是一个递增序列即可: class Solution { public: /** * @param root: The root of binary tree. * @return: True if the binary tree is BST, or false * */ void inorderTraversal(...

2019-03-05 10:11:42 114

原创 二叉树的前序、中序、后序遍历非递归实现

前序遍历 class Solution { public: /** * @param root: A Tree * @return: Preorder in ArrayList which contains node values. */ vector preorderTraversal(TreeNode * root) { // write your code here vectorresult...

2019-03-04 20:21:02 183

原创 (c++)将单向链表按某值划分成左边小、中间相等、右边大的形式

ListNode* listPartition1(ListNode* head, int num){ if(head=nullptr) return nullptr; if(head-&gt;next=nullptr) return head; ListNode *sh=NULL;//小于区域的head ListNode *st=NULL;//小于区域的end ListNode *eh=NULL;...

2019-03-02 15:21:44 523

转载 c++中,什么时候用 A a;和什么时候用A a=new A;

说明:此处内容是在网上摘抄的,总结一下,为了以后查找方面。 new是在堆上分配内存,它需要用delete释放,否则会造成内存泄漏(使用的内存没有即时释放,造成内存的浪费) 而A a在右大括号执行后,会自动释放内存 如 int main() { A a;//定义了一个a对象 A *p=new A;//在堆上定义了一个对象,它的指针保存在p里,注意,堆上定义的对象没有名字,必须用指针保存 return...

2019-02-28 17:02:37 1643

原创 鸟哥的linux私房菜第三版习题

第七章习题 1.什么是绝对路径和相对路径:绝对路径是从根目录开始的,相对路径是从当前目录开始的,最明显的区别为绝对路径必须以/开头,相对路径则不是。 2.如何更改一个目录的名称?例如由/home/test变为/home/test2:mv /home/test /home/test2 3.PATH这个环境变量的意义是什么:当我们执行一个命令时,系统会按照PATH变量的设置渠道PATH定义目录下查找相...

2019-01-15 20:23:55 470

ucos ii 源代码

从官网上下载的源码从官网上下载的源码从官网上下载的源码从官网上下载的源码从官网上下载的源码从官网上下载的源码从官网上下载的源码

2018-01-12

STM32 12864驱动代码

STM32 12864驱动代码STM32 12864驱动代码STM32 12864驱动代码STM32 12864驱动代码STM32 12864驱动代码STM32 12864驱动代码

2018-01-12

FPGA实现DDS例程

FPGA实现DDS例程FPGA实现DDS例程FPGA实现DDS例程FPGA实现DDS例程FPGA实现DDS例程FPGA实现DDS例程

2018-01-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除