快乐的程序员
算法-差分数组 算法-差分数组
题目: 2772. 使数组中的所有元素都等于零给你一个下标从 0 开始的整数数组 nums 和一个正整数 k 。 你可以对数组执行下述操作 任意次 : 从数组中选出长度为 k 的 任一 子数组,并将子数组中每个元素都 减去 1 。如果你可以
2024-03-13
一起坚持做leetcode周赛 一起坚持做leetcode周赛
写在前面从23年1月份开始,我就坚持做leetcode上面的周赛题目,单周是每个星期日上午10:30-12:00,90分钟时间做4个编程题目,难度一般是:简单(3分)、中等(4分)、中等(5分)、困难(6分)。 从一开始只能做前面的一题、两
2024-03-13
今天在leetcode周赛中半个小时内解决一道动态规划题目 今天在leetcode周赛中半个小时内解决一道动态规划题目
写在前面动态规划算是比较难的题目,之前遇到这种题目都不知道怎么下手,或者想到用动态规划做也做不出来。今天比赛中的第三题还没读完题目就感觉应该用动态规划做,并且在纸上稍微思考了一下就写出了动态方程和边界情况,非常顺畅,再次记录一下 6433.
2024-03-13
最短路径问题-Dijkstra算法 最短路径问题-Dijkstra算法
写在前面前几天做leetcode发现有个题目需要用到最短路径问题,于是专门学习了一下Dijkstra算法 上次接触Dijkstra算法还是在大学期间,已经忘记的差不多了。今天在网上搜了一下算法,思想并不难。看懂之后自己实现了一下,经过短暂的
2024-03-13
判断一个单链表是否有环,并找出入口 判断一个单链表是否有环,并找出入口
写在前面判断一个链表是否有环比较容易,但是要找出环的入口并不容易。 单链表环相关的考题很多,比如: 给一个单链表,判断其中是否有环的存在; 如果存在环,找出环的入口点; 如果存在环,求出环上节点的个数; 如果存在环,求出链表的长度; 单
2024-03-13
如何判断两个链表是否相交 如何判断两个链表是否相交
算法题:判断2个链表相交面试中可能会问到的算法题,今天总结一下 方法一:map步骤: 1.遍历list1,以节点为key放入map中 2.遍历list2,判断每个节点是否在map中,如果在则相交,且顶一个存在的节点是交点 // 定义链表
2024-03-13
堆排序原来如此简单 堆排序原来如此简单
写在前面之前总觉得堆排序很难,今天写算法题的时候用到了排序,就搜了一下相关排序算法,看了一下之前觉得比较难的快速排序和堆排序,毕竟工作时间久了,理解能力也有了一定的提升,觉得这两个算法逻辑和实现都不难,于是在理解了算法逻辑之后写了这2个算法
2024-03-13
快速排序算法 快速排序算法
写在前面今天在写leetcode算法题6316. 重排数组以得到最大前缀分数的时候,总是超时,最后看别人的解答,发现思路是差不多的,先排序,然后遍历求和。 仔细看别人的代码,排序使用的是python语言自带的sort函数。唯一的区
2024-03-13
如何实现大数求组合 如何实现大数求组合
C(10000,3) 如何实现n个互不相同的数的全排列是n!个。 一个有n个元素的集合的含有m个元素子集的个数为C(n,m)。 C(n,m)的计算方式: 1.公式:C(n,m) = n!/((n-m)! * m!),在算法上较难实现,阶乘很
2024-03-13
正则表达式悲观回溯 正则表达式悲观回溯
写在前面正则表达式一直以来褒贬不一,大家有疑问的地方主要就是它的悲观回溯问题,今天就来详细讨论一下这个问题。 前几天有小伙伴来求救说页面上有一个 input 框,随着用户不断输入内容,页面响应会越来越慢直到完全失去响应。 简单沟通过后得知具
2024-03-13
随机数生成算法 随机数生成算法
写在前面今天下午在阅读负载均衡文章的时候,文章中提到随机负载均衡,需要生成随机序列。根据学习心得总结一下,希望对大家有所帮助。 go语言生成随机数的坑文中提到洗牌算法生成随机数。 var endpoints = []string {
2024-03-12
vlq编码 vlq编码
目的了解什么是vlq 概念vlq是指Variable-length Quantity,是一种可变长度的编码。 它借用base64编码格式来表示。 base64base64是利用64个可打印字符来表示二进制数字。 详解 将数字用二进制表示,
2024-03-12
2 / 3