随笔分类 - 算法思想
旨在交流算法,设计模式,计算机四大件等思想,AC更有意思的题目
摘要:HTTPS=http+SSL,即在http传输上加入了SSL协议的加密能力。 在进行https连接后,所有的信息发送都是通过对称加密的方式进行的,又因为对称加密的密钥在第一次传输时需要确保足够安全,所以我们使用非对称加密对密钥进行加密后再传输。因为非对称加密和解密的耗时长,所以我们只选择密钥传输时进
阅读全文
摘要:在开发的过程中,我们总无法避免不同的实体类会去实现相同的操作(增删查改,分页查询等),因此在开发时,我们期望泛型将通用的方法进行包装,使我们能够专注于实体类自身的独特方法,而非一般性常用且重复性高的方法。 泛型Base<T,V>我们通过继承jparepository<T,V >进行实现。通过jpa的
阅读全文
摘要:虚拟头结点是在处理链表操作时的技巧,主要功能在于能使操作的链表不在需要关心新建头结点的初始状态或空指针的情况,在逻辑代码中能将所有结点一视同仁。 看一道题就很清楚了: 很简单的题,解法为: ListNode mergeTwoLists(ListNode l1, ListNode l2) { // 虚
阅读全文
摘要:股票问题一直是动态规划常见场景之一,其中的奇淫技巧也不在少数,而本文旨在阐述股票买卖问题的动态规划通用解法,虽然在运行速率上比针对题目的专门题解,但几乎能AC所有的股票买卖问题。 首先,股票买卖涉及到的题目有很多,但框架类似,基本都是给定一个数组里面包含着每天的股票价格,给定一个参数K,限制最多的交
阅读全文
摘要:说道回溯算法其实也就是我们常说的DFS深度遍历算法,而一个回溯的过程,其实也就是一个决策树遍历的过程。 代码大致框架为: result = [] def backtrack(路径, 选择列表): if 满足结束条件: result.add(路径) return for 选择 in 选择列表: 做选择
阅读全文
摘要:关于双指针的方法,可能大家并不陌生,而滑动窗口算法,其实算是双指针的一种实现方式,主要用于解决子串问题。并且在leetCode上起码有10道以上的滑动窗口应用题目,难度均在middle和hard。因此,我本文也致力于阐述自己的想法,供大家互相学习。 首先滑动窗口算法,顾名思义,就是要维护一个窗口,然
阅读全文

浙公网安备 33010602011771号