算法学习(十七)规律

规律

1. 概念

  • 模拟题目过程
  • 探索问题规律
  • 找出隐含条件

2. 解题技巧(我的总结)

1> 将 问题中的抽象条件 找出实际意思

题目说明实现
649. Dota2 参议院题中每个议员最好表现 = 禁止后面最近的对方议员 或 禁止前面最远的对方议员我的提交
1702. 修改后的最大二进制字符串10->01代表题中所有的1都可以全部移动到末尾,所有0都可以移动到开头我的提交
1536. 排布二进制网格的最少交换次数交换相邻两行 = 冒泡过程,贪心的先满足前面的我的提交

2> 迭代次数过多,寻找周期、规律
①二进制周期
②字符串循环结

题目说明实现
957. N 天后的牢房题中最多有2^8=256种状态,每个状态仅与上一状态有关,故必然存在周期我的提交
1041. 困于环中的机器人一个周期后方向发生改变或位置不发生改变 则一定会有环我的提交
2178. 拆分成最多数目的正偶数之和](https://leetcode.cn/problems/maximum-split-of-positive-even-integers/description/)从小到大累加,加上最后一个数后超过了finalNum,一定可以从前面删去一个数 来得到finalNum我的提交
466. 统计重复个数](https://leetcode.cn/problems/count-the-repetitions/description/)根据贪心思想,优先选择靠前匹配上的字符;记录s1第一个匹配上的idx,存在某一位置i,区间[idx, i]长度是len(s1)的倍数,s2在其中出现了m次,这个区间就是循环结我的提交

3> 适当更改题目条件,满足规律

题目说明实现
1104. 二叉树寻路利用Z字型索引每个元素,再对称变换索引我的提交

3. 更多练习

找规律

4. 参考

1总库:tryHard

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python算法学习是指掌握使用Python语言来解决各种问题的方法和技巧。在学习过程中,有几个重要的方面需要注意。 首先,了解基本的算法概念是必不可少的。例如,了解常见的排序算法(如冒泡排序、快速排序)和查找算法(如二分查找)等。这有助于我们理解算法的原理和思想。 其次,学习Python中的内置数据结构和函数,如列表、字典和字符串等。熟悉这些数据结构和函数的使用方法,可以帮助我们更好地解决问题,并编写出高效的算法。 第三,了解常用的算法设计技巧。例如,贪心算法、动态规划和分治法等。这些算法设计技巧可以应用于不同类型的问题,帮助我们找到解决问题的最佳方法。 第四,编写和调试算法代码是学习过程中的关键步骤。我们可以通过编写小型的算法程序来练习和巩固所学的知识。同时,调试是解决代码错误和优化算法的重要环节,需要耐心和细心。 最后,不断练习和实践是提高算法能力的关键。我们可以通过刷题、参加编程比赛和项目实践等方式来提高自己的算法水平。与其他程序员交流和分享经验也是相互学习的好机会。 总之,Python算法学习是一个渐进的过程,需要不断学习、实践和提高。通过合理的学习方法和坚持不懈的努力,我们可以不断提高自己的算法能力,并运用它来解决实际问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值