
剑指offer
文章平均质量分 81
剑指offer的等的刷题笔记
一个正直的男孩
在小的坚持*365,散发出的威力也不可小视
展开
-
[动态规划与回溯算法] 01背包
01背包问题 题目描述: 大白话:有n个商品且每个商品的价格和重量都不一样,现在有一个m空间大小的包,你在n个商品中选取并使包中物品价格和为最大值 思路: 小时候不是有一篇课文叫小猴子下山,现在博主自编后续(如有雷同纯属巧合) 故事中所会遇到的物品 回到家的小猴子很不甘心就发明了一个时光机,这次他带着一个背包穿越时空,这次他依旧是原路程下山他先看到了 ????他放入的包里,继续下山他看到了????他看了下包里空间又把桃子放入包中,继续下山这次看到了????看了看包里的容量这个时候小猴子需要进行一原创 2022-01-10 18:21:01 · 877 阅读 · 17 评论 -
[动态规划与回溯算法]斐波那契数列与变形
大家好这是我的一个新的专题,动态规划,这里有我大量学习DP(动归)的学习笔记,和我的见解,但是博主在这一块一个是一个小白,还在摸索如果有我那里有错误,或者有更好的思路请你在评论区留言 动态规划三加一准则 三: 状态定义 转移方程 定义初始状态 一: 数组(一维,二维) 其中比较难得的就是状态的定义和转移方程,一般把这俩个想明白定义出来,那么这个道题基本上可以算是写出来了。一般来说状态定义都是从问题中抽象出来的…… 你或许好奇为啥要数组呢? 因为DP其实也是一个分治的算法(大问题化成小问题),DP一原创 2022-01-07 20:00:18 · 498 阅读 · 1 评论 -
[动态规划与回溯算法] 路径问题
第一层 三角矩阵 题目描述: 大白话:计算顶部到底步的路径,路径值相加求这个三角形的路径和中值最小,且每一步看一移动到当前位置的下一行,或下一行下一个 如 index:(i,j) --> (i-1,j) 或(i-1,j-1) 思路1: “三” 状态抽象: 由题可以知道我们需要求最小路径和,也就是最后最后一个位置的路径和,那么我们就可以先求第i个位置 如图所示: 那么我们要知道到i节点的路径和,就和求最后位置一样,且我们还需要保存第i个状态的结果,因为 i 这个结果是 i+1 个位置需原创 2022-01-07 19:57:15 · 1193 阅读 · 17 评论 -
[剑指offer] 第二层
栈的压入与弹栈序列 题目描述: 回顾栈的基本结构: 栈的结构是先进后出,后进先出 入栈序列:[1,2,3,4,5] 出栈序列[4,5,3,2,1],否属于同一个栈出入序列? 提示 :入栈中可能有元素可能会栈 思路: 用一个栈模拟实现入栈,且在入栈时和出栈序列比较是否该元素提前出栈 ...原创 2022-01-01 21:28:28 · 3688 阅读 · 14 评论 -
[剑指offer]重建二叉树
文章目录第一层 二叉树遍历第二层 给定前中序构建一个二叉树 第一层 二叉树遍历 题目介绍 给定一个(前序遍历)字符串,构建二叉树,并且以中序打印,#==nullpet , ’ ‘==空树 如果忘记请看这篇博客----->回顾二叉树概念 思路 前序是先根遍历,在左子树,右子树 分别对树的左右区间进行构造 根据# 进行构建树那么就会一下俩种情况 碰到一个#就说明当前的构建的区间已经全部构建完毕,已经没有元素可以构造了(类似中序遍历一直走到叶子节点) 而碰到##就代表遇到的是叶子节点代原创 2021-12-25 20:00:24 · 1200 阅读 · 10 评论 -
【剑指offer】第一层
文章目录二维数组中查找旋转数组中最小的数字数组中出现次数超过一半的数字絮絮叨叨的家常 二维数组中查找 题目描述 思路 遍历法 只要是这种查找的题都有一个通解就是遍历,显然如果是面试那么offer就要????了,代码自行写,本质就是一个二维数组 利用条件法(瞎取的) 从题可以看出每一行都是左右递增,每一列都是上下递增,那么我们就可以利用这个特性, target和第一行的最后一个元素比,那么会出现俩种状况 targe大于最后元素 因为是左右递增,那么targe就不会在当前行,直接排除当前原创 2021-12-19 13:13:14 · 4604 阅读 · 0 评论