力扣100题-普通数组 1.最大子数组和 描述:给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组中的一个连续部分 思路一: 动态规划,dp[i]表示以i为结尾的连续数组的最大和。当dp[i-1]<=0时,dp[i] = nums[i],else dp[i] = dp[i-1]+nums[i]。由于dp[i]只根 2024-08-07 力扣 #算法
力扣100题-子串 1.和为K的子数组 描述:给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 思路一: 连续序列加上求和,自然而然想到使用前缀和,由于数可能是正0负,求子数组的个数,可以依赖于哈希表,遍历前缀和数组,通过-k去找之前是否出现过sj-k的前缀和数字,就相当于有多少个区间是满足条件的。以O[N]的复杂度解决了区间的 2024-08-06 力扣 #算法
力扣100题-滑动窗口 1.无重复字符的最长子串 描述:给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。 思路一: 首先子串是连续的,可以先固定左端点,右端点在数组里遍历,当右端点的数出现过(哈希表),就移动对应的左端点直到满足右端点没有出现过。这样就遍历了所有的可能性,得出最大的ans。这是一个变长的滑动窗口。 代码: 12345678910111213class Solution: 2024-08-05 力扣 #算法
力扣100题-双指针 1.移动零 描述:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 思路一: 从左到右遍历数组,发现非零数就按序重写到原数组中,再在数组的后半截补全对应的0,实现了不构建新数组 代码: 12345678910111213class Solution: def moveZeroes(se 2024-08-04 力扣 #算法
力扣100题---哈希 1.两数之和 描述:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案 思路一: 暴力模拟,两个变量从前往后遍历,避免重复和自己和自己配对 代码: 1234567891011class So 2024-08-03 力扣 #算法
小游戏浅浅分析 黄金矿工改编版分析URL:https://www.4399.com/flash/3869.htm#search3-0d18Analysis:玩了三局改编版黄金矿工 可以很明显地感受到心跳变快手心出汗,游戏确实难以抵抗 玩的时候就在简单分析了,尝试写点: 一个是音效,和动作结合,简单有效 一个是地图点亮,难度平滑增加,刺激挑战欲,我基本最多点亮一半。想到羊了个羊,后期的地狱难度更能留住用户。每一 2024-07-21 游戏开发 #game
蓝桥杯国赛备赛总结 蓝桥杯国赛比赛注意点1.知识点总结:2022年国A: 前两道填空题涉及错排和康托展开比较不常用的算法,没有想出来可以跳过,或者可以尝试寻找规律去做。 C题模拟题,细心就可以做出来 D题模拟可以拿大部分分数,正解是线段树+二分,也是比较基础的使用,可以尝试去想正解 E题分类情况比较复杂,通过随机函数来暴力求解可以得到部分分数 F题图的存储,Floyed+二分,可以大胆尝试去做,基本算法的组合 G题数 2024-05-31 #算法
蓝桥杯备赛-复习和模拟赛 复习1.选素数:线性筛 思路:根据题目规律分析出求f(n) = n-pmax+1,n不为素数,接下来就是利用线性筛来求每个数的pmax了。模板还是比较好记的。 总结:代码长度不长,主要要根据规律分析出如何求解的x以及知道利用线性筛求数的最大质因子。 2.单源最短路:dijkstra 思路:主要采用链式前向星和优先队列来实现单源最短路的更新,模板的写法要非常熟悉。 3.字符迁移:差分 2024-05-30 #算法
2023年蓝桥杯国B 2023年蓝桥杯国赛B组C班级活动: 分类讨论即可,题目并不难,但是卡在了数组越界,N是数组的大小,然后又从1遍历到N就会出问题,经验+1,要注意避免这种情况。 D合并数列: 模拟题,把两种不等的情况合并起来,最后调试做出来了。还是要多多考虑特殊情况,比如必须要合并所有的情况来测试,在比赛过程中要多多考虑最特殊的情况,多加测试才更能保证得分。 E数三角: 暴力模拟:可以过75%,刚开始陷入了三 2024-05-27 #算法
重做2023年国A 重做2023年国AC切割: 思路:简单的模拟题,根据题意来模拟即可,可以多加测试来降低风险 DXYZ: 思路:找规律题目,总结公式,从样例出发,耐心一点完全可以做出来,很棒! E第K小的和: 思路:双重二分,调试了一会儿边界最终做出来了!二分条件的基本原则还是要坚持(等号在哪,哪里没有加减1。然后就是考虑找最左还是最右,没有结果的时候又要返回什么),然后如果出错就debug输出也会比较容易找到 2024-05-17 #算法