随笔分类 - 算法
摘要:给定两个字符串str1和str2,输出两个字符串的最长公共子序列。如果最长公共子序列为空,则返回"-1"。目前给出的数据,仅仅会存在一个最长的公共子序列 输入 "1A2C3D4B56","B1D23A456A" 返回值 "123456"参考 https://blog.csdn.net/hrn1216
阅读全文
摘要:给定两个字符串str1和str2,输出两个字符串的最长公共子序列。如果最长公共子序列为空,则返回"-1"。目前给出的数据,仅仅会存在一个最长的公共子序列 输入、 "1A2C3D4B56","B1D23A456A 输出 “2345” 状态转换方程:s1[i] == s2[j] > dp[i][j] =
阅读全文
摘要:LFU(least frequently used (LFU) page-replacement algorithm)。即最不经常使用页置换算法,要求在页置换时置换引用计数最小的页,因为经常使用的页应该有一个较大的引用次数。 unordered_map<int, list<node>::iterat
阅读全文
摘要:LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。 struct node { node(int _k = 0, int _v = 0, int _cnt=0) :k(_k), v(_v),cnt(_cnt) {} in
阅读全文
摘要:方法一:深度优先遍历 DFS深度优先搜索: 可以理解为暴力法模拟机器人在矩阵中的所有路径。DFS 通过递归,先朝一个方向搜到底,再回溯至上个节点,沿另一个方向搜索,以此类推。 剪枝: 在搜索中,遇到数位和超出目标值、此元素已访问,则应立即返回,称之为 可行性剪枝 。 int is_illegal(i
阅读全文
摘要:题解:首先排序,因为这里只有5个数,所以冒泡就行了,然后用0去补齐两个非0数之间的差距。
阅读全文
摘要:题解:先将每一个单词切下来,一次存入栈中,空格也一并存入,然后再依次弹出组合成一个string返回即可。
阅读全文
摘要:题解:首先判断移位 n 是否超出字符串的长度,如果超出那么就要取模。
阅读全文
摘要:参考博客: https://blog.csdn.net/isunbin/article/details/81707606 https://blog.csdn.net/qq_25940921/article/details/82183093 代码有所改动 struct node{ int key; i
阅读全文
摘要:之前有一道题是找出数组中一个只出现一次的数字,而这次是两个,当然方法也是相同。 参考大佬的题解:
阅读全文
摘要:因为数组是有序的,所以只要用二分法先找到数字出现的位置,然后在左右统计个数 注意:这里二分法不能使用递归,因为可能会由于数组过大导致递归深度太深,应该使用迭代进行二分
阅读全文
摘要:通过图示可以看出,当p1和p2一直往后走,当p1为空的时候,p1就跑到链表p2的头节点的地方 当p2为空的时候,p2就跑到p1的头节点的地方,这样p1和p2所走的路程就是一样多了,必定在公共 节点处相遇 哈哈哈,抄一段大佬的代码!
阅读全文
摘要:思路很简单,定义两个数组,lower代表小写字母是否被访问过,upper代表大写字母是否被访问过 如果当前字母已经在之前被查询过了就不需要再次查询了 一次遍历当前数组中的每一个字母,然后在内层循环中查找后面是否存在相同的,如果没有相同的就直接返回了 当然还有大佬只使用一个数组来存放大小写,先便利一次
阅读全文
摘要:盗用一个大佬的解题思路 min({arr[p2]*2, arr[p3]*3, arr[p5]*5}) 是c++11支持的写法,内部运用initializaer_list<int>的方法实现。
阅读全文
摘要:一次遍历数组,将当前a【i】与其后面的每一个a【j】进行组合,即判断a【i】a【j】 与 a【j】a【i】哪一个更小 如果是a【j】a【i】更小的话,则交换a【j】与 a【i】的值。如此一来则能够找到每一个数的最合适的位置。 有点类似于冒泡排序的思想,将每一个能够组合起来得到最小值的a【j】放到当前
阅读全文
摘要:第一次使用的方法是依次遍历每一个字串,然后记录最大值就可以了,但是这样的话,算法的时间复杂度为O(n2) 很显然这样做不是最优解 改进之后的算法时间复杂度为O(n),用一个sum来记录字串的和,如果当前字串和负数的话,那么就要将sum直接赋值为array[i] , 因为如果sum为负数的话,当前 a
阅读全文
摘要:一道考察堆排序的算法题: 堆排序思路:构造堆 --> 将堆顶元素调整到队列末尾 --> 调整堆 --> 继续调整元素 参考博客:https://www.cnblogs.com/chengxiao/articles/6129630.html
阅读全文

浙公网安备 33010602011771号