![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指 Offer II
文章平均质量分 85
撩得Android一次心动
努力不一定成功,放弃一定失败。只要内心不乱,外界就很难改变你什么。不要艳羡他人,不要输掉自己,加油!!!
展开
-
【笔试算法题】动态规划(线性dp、前缀和、差分、二维dp、背包问题&树形dp)
一、线性dp问题:给定一个正整数组成的数组,取出一些数使得和尽可能大,要求不能取相邻的数。len 1e6例如:3,2,6,9,1 取3+9=12例如:2,4,6,8,9 取2+6+9=17dp[i][0]取了第i个数的情况下,前i个数取完的最大值dp[i][1]没取第i个数的情况下,前i个数取完的最大值二、前缀和、差分问题1:给定一个数组,多次询问[l,r]区间的总和是多少?要求做到O(1)询问 首先求出前缀和数组dp[i] (前i个数的和);使用后缀和...原创 2022-04-06 15:39:51 · 3291 阅读 · 0 评论 -
【笔试算法题】数据结构的应用(bfs&双端队列)
一.bfsbfs(广度优先搜索),类似二叉树的层序遍历,利用队列完成。一般用于求最短路。图的最短路问题:给定一个无向图,每条边的长度都是1。求1号点到x号点的最短距离。 顶点数n 边数为mq次询问 输入x 输出1到x的最短距离。 若1号点到x不连通,则输出-1二.双端队列双端队列的应用(区间翻转):对于长度为n的数组,给定一个长度为m的区间,区间初始位置为a[1]到a[m]。3种操作:区间右移(最右端不会超过a[n]) 区间左移(最左端不会超过a[n]..原创 2022-04-06 15:40:20 · 951 阅读 · 0 评论 -
【笔试算法题】递归(dfs & 记忆化搜索 & 分治)
递归:递归指函数调用自身。常用的递归算法有dfs(深度优先搜索)、记忆化搜索和分治。一、dfs(深度优先搜索)1.图的dfs/** * 深度优先搜索 * * @param node * @param set */public void DFS(Node node, Set<Node> set) { if (node == null) { //当没有节点时,退出此次方法 return; } if (!set原创 2022-04-05 18:36:00 · 1461 阅读 · 0 评论 -
【面试算法题】十种常用排序算法详解
排序算法的稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,如果排序以后,保证这些记录的相对次序保持不变,即在原序列中,a[i]=a[j],且 a[i] 在 a[j] 之前,排序后保证 a[i] 仍在 a[j] 之前,则称这种排序算法是稳定的;否则称为不稳定的。一.选择排序每次从待排序的元素中选择最小的元素,依次和第1、2、3...位置的元素进行交换。这样在数组前面的部分形成有序区域。每进行一次交换,有序区域长度加一。public static ...原创 2022-04-04 12:32:33 · 5468 阅读 · 5 评论 -
【笔试算法题】贪心和枚举(四个例子彻底弄懂)
笔试技巧:学会根据数据范围猜知识点 一般1s时间限制的题目,时间复杂度能跑到1e8左右(python和java会少一些,所以建议大家使用c/c++做笔试题)。 n范围20以内: O(n*2^n) 状压搜索/dfs暴搜 n范围200以内: O(n^3) 三维dp n范围3000以内: O(n^2) ...原创 2022-04-03 00:53:47 · 2601 阅读 · 0 评论 -
【算法题】kotori和n皇后
kotori最近在研究n皇后的问题。所谓n皇后问题是这样的:一个n*n的地图,上面一共放n个皇后,保证任意两个皇后都不能互相攻击(每个皇后可以攻击同一行、同一列以及同一45度角斜线和135度角斜线上的所有其他皇后)。kotori思考了很久都无法得出答案,整个人都变成琴梨了。她于是拿了一堆皇后在一个无穷大的棋盘上模拟,按照次序一共放了k个皇后。但是,皇后的站位太复杂了,kotori甚至不知道是否存在两个皇后会互相攻击。于是她想问问聪明的你,在第i个皇后放置在棋盘上之后,是否存在两个皇后可以互相攻击原创 2022-04-01 22:44:58 · 644 阅读 · 2 评论 -
剑指 Offer II ------题记(一)
001. 整数除法给定两个整数 a 和 b ,求它们的除法的商 a/b ,要求不得使用乘号 '*'、除号 '/' 以及求余符号 '%'。注意:整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8以及truncate(-2.7335) = -2假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−,−1]。本题中,如果除法结果溢出,则返回 − 1示例 1:输入:a = 15, b = 2输出:7解释:15/2 = t...原创 2021-10-17 13:33:08 · 1964 阅读 · 0 评论