《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记
由于之前看了牛客网的数据结构和算法的课程知道了左神,现在找到了这本书当作入门书做做吧,虽然书的题解都是java实现的,但好在用c++实现难度不大
鶸.
梦想不是浮躁,而是沉淀和积累
展开
-
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记18
第三章打气球的最大分数本题先尝试出所有可能打爆方法的暴力递归过程。只有尝试方法是最重要的,而且没有任何固定套路可以总结如何去尝试。int process(int *arr,int size,int left,int right){ if (left==right) { return arr[left-1]*arr[left]*arr[right+1]; } int max1=ma...原创 2019-05-05 23:56:52 · 469 阅读 · 0 评论 -
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记17
第三章 二叉树问题第一题:统计和生成所有不同的二叉树class solution {public: int generateAllDiffrentBST(int n) { if (n<2) { return 1; } //新建的vec到时候会有n+1个元素 vector<int> vec; //第一个元素是为了方便后继真正要求的元素所设计的...原创 2019-04-22 23:22:59 · 770 阅读 · 0 评论 -
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记16
由于之前看了牛客网的数据结构和算法的课程知道了左神,现在找到了这本书当作入门书做做吧,虽然书的题解都是java实现的,但好在用c++实现难度不大第三章 二叉树问题第一题:找到二叉树中的最大搜索二叉树本题涉及二叉树面试题中的一个很常见的套路,也是全书的一个重要内容。树形dp套路。使用前提:如果题目求解目标是s规则,则求解流程可以定成以每一个节点为头节点的子树在s规则下的每一个答案,并且最终答...原创 2019-04-16 00:32:51 · 261 阅读 · 0 评论 -
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记15
由于之前看了牛客网的数据结构和算法的课程知道了左神,现在找到了这本书当作入门书做做吧,虽然书的题解都是java实现的,但好在用c++实现难度不大第三章 二叉树问题第一题:打印二叉树的边界节点给定一颗二叉树的头节点 head,按照如下两种标准分别实现二叉树边界节点的逆时针打印。标准一:1、头节点为边界节点;2、叶节点为边界节点;3、如果节点在其所在的层中是最左或者最右的,那么也是边界节...原创 2019-04-14 00:00:41 · 1385 阅读 · 0 评论 -
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记14
由于之前看了牛客网的数据结构和算法的课程知道了左神,现在找到了这本书当作入门书做做吧,虽然书的题解都是java实现的,但好在用c++实现难度不大第三章 二叉树问题第一题:递归与非递归实现二叉树三序遍历前序遍历首先访问根结点,然后遍历左子树,最后遍历右子树。中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。后序遍历首先遍历左子树,然后遍历右子树,最后访问根结点。本质是中左右遍历第几...原创 2019-04-12 22:55:26 · 577 阅读 · 0 评论 -
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记13
由于之前看了牛客网的数据结构和算法的课程知道了左神,现在找到了这本书当作入门书做做吧,虽然书的题解都是java实现的,但好在用c++实现难度不大第二章 链表问题第一题:有序的环形单链表中插入新节点直接给出时间复杂度为O(N),额外空间复杂度为O(1)的方法struct ListNode { int val; ListNode *next; ListNode(int x) : val(...原创 2019-04-11 17:04:10 · 408 阅读 · 0 评论 -
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记12
由于之前看了牛客网的数据结构和算法的课程知道了左神,现在找到了这本书当作入门书做做吧,虽然书的题解都是java实现的,但好在用c++实现难度不大第二章 链表问题第一题:删除无序单链表中值重复出现的节点方法一:用哈希表,时间复杂度O(N),额外空间复杂度O(N)方法二:类似选择排序的过程,时间复杂度O(N^2),额外空间复杂度O(1)struct ListNode { int val;...原创 2019-04-10 23:24:56 · 167 阅读 · 0 评论 -
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记11
由于之前看了牛客网的数据结构和算法的课程知道了左神,现在找到了这本书当作入门书做做吧,虽然书的题解都是java实现的,但好在用c++实现难度不大第二章 链表问题题目一:将单链表的每k个节点之间逆序给定一个单链表的表头节点head,实现一个调整单链表的函数,是的每k个节点之间逆序,如果最后不够k个节点一组,则不调整最后几个节点方法一:利用栈结构,时间复杂度O(N),空间复杂度O(k)st...原创 2019-04-10 00:30:52 · 614 阅读 · 0 评论 -
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记10
由于之前看了牛客网的数据结构和算法的课程知道了左神,现在找到了这本书当作入门书做做吧,虽然书的题解都是java实现的,但好在用c++实现难度不大第二章 链表问题题目一:复制含有随机指针节点的链表感谢力扣大佬@ygtxr1997 的回答有丝分裂法,原地复制再分裂,时间O(3n),空间O(1)// Definition for a Node.//class Node {//public...原创 2019-04-08 23:28:49 · 244 阅读 · 0 评论 -
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记9
由于之前看了牛客网的数据结构和算法的课程知道了左神,现在找到了这本书当作入门书做做吧,虽然书的题解都是java实现的,但好在用c++实现难度不大。第二章 链表问题第一题:翻转部分单向链表本题有可能存在换头问题1.先判断是否满足条件2.找到第from-1和to+1个节点,把翻转部分先翻转,然后正确连接3.如果fpr!=NULL直接返回新的头节点;如果为NULL,说明翻转部分是包含头节点的...原创 2019-04-07 23:36:59 · 223 阅读 · 0 评论 -
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记8
由于之前看了牛客网的数据结构和算法的课程知道了左神,现在找到了这本书当作入门书做做吧,虽然书的题解都是java实现的,但好在用c++实现难度不大。第二章 链表问题第一题:环形单链表的约瑟夫问题据说著名的犹太历史学家Josephus有过以下故事:在罗马人占领桥塔帕特后,39个犹太人与Josephus 及他的朋友躲到一个洞中,39个犹太人宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排...原创 2019-04-06 00:16:25 · 212 阅读 · 0 评论 -
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记7
由于之前看了牛客网的数据结构和算法的课程知道了左神,现在找到了这本书当作入门书做做吧,虽然书的题解都是java实现的,但好在用c++实现难度不大。第二章 链表问题第一题:删除链表的中间节点和a/b处的节点删除节点的题目我们之前已经讨论过,如果要删除一个节点,则需要找到待删除节点的前一个节点。删除中间节点struct ListNode { int val; ListNode *next...原创 2019-04-04 21:02:17 · 238 阅读 · 0 评论 -
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记6
由于之前看了牛客网的数据结构和算法的课程知道了左神,现在找到了这本书当作入门书做做吧,虽然书的题解都是java实现的,但好在用c++实现难度不大。第一章 栈和队列题目一:最大值减去最小值小于或等于num的子数组数量//! @file findTheNumberOfMaxreduceMinLOETnum.cpp//! @author 鶸.//! @date 2019/4/3...原创 2019-04-03 15:07:27 · 690 阅读 · 0 评论 -
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记5
由于之前看了牛客网的数据结构和算法的课程知道了左神,现在顺便就买了他的书做做题吧,虽然书的题解都是java实现的,但好在用c++实现难度不大。第一章 栈和队列第一题:求最大子矩阵的大小给定一个整形矩阵map,其中的值只有0和1两种,求其中全是1的所有矩形区域中,最大的矩形区域为1的数量例如:1 1 1 0其中,最大的矩形区域有3个1,所以返回3。再如:1 0 1 11 1 1 1...原创 2019-04-01 16:49:44 · 664 阅读 · 0 评论 -
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记4
由于之前看了牛客网的数据结构和算法的课程知道了左神,现在找到了这本书当作入门书做做吧,虽然书的题解都是java实现的,但好在用c++实现难度不大。第一章 栈和队列题目一:单调栈结构给定一个不含有重复值的数组arr找到每一个i位置左边和右边离i位置最近且值比arr[i]小的位置。返回所有位置相应的信息。// MonotoneStackArchitecture.cpp : 定义控制台应用程序的...原创 2019-03-28 21:47:42 · 459 阅读 · 0 评论 -
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记3
由于之前看了牛客网的数据结构和算法的课程知道了左神,现在顺便就买了他的书做做题吧,虽然书的题解都是java实现的,但好在用c++实现难度不大。第一章 栈和队列第一题:生成窗口最大值数组有一个整型数组arr和一个大小为w的窗口从数组的最左边滑到最右边,窗口每次向右边滑一个位置。例如,数组为【4,3,5,4,3,3,6,7】,窗口大小为3时: 窗口数组 ...原创 2019-03-30 10:14:07 · 203 阅读 · 0 评论 -
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记2
由于之前看了牛客网的数据结构和算法的课程知道了左神,现在顺便就买了他的书做做题吧,虽然书的题解都是java实现的,但好在用c++实现难度不大。第一章 栈和队列第一题:用一个栈实现另一个栈的排序1.如果cur小于或等于help的栈顶元素,则将cur直接压入栈2.如果cur大于help的栈顶元素,则将help的元素逐一弹出,逐一压入stack,直到cur小于或等于help的栈顶元素,再将cur...原创 2019-03-19 22:19:58 · 966 阅读 · 0 评论 -
《程序员代码面试指南》it名企算法与数据结构题目最优解(第二版)刷题笔记1
由于之前看了牛客网的数据结构和算法的课程知道了左神,现在顺便就买了他的书做做题吧,虽然书的题解都是java实现的,但好在用c++实现难度不大。第一章 栈和队列题目一:设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小...原创 2019-03-18 01:37:14 · 970 阅读 · 0 评论