![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
ModestYjx
At ordinary times, nothing is worth mentioning in front of buddhahood and earnestness!
任何事在佛系和认真面前都不值一提!
展开
-
5519. 重新排列单词间的空格
5519. 重新排列单词间的空格传送门传送门题意### 结题思路```python# 思路1:# 遍历字符串,查询其有n个空格,k个单词,这些空格的数量要插在k-1个位置中。剩余的余数放在最末尾,返回重新排列空格后的字符串。# 总结:# count():返回字符串中某字符数量# divmod():返回商和余数# join():在一列list的每个元素后面连接前面的变量class Solution(object): def reorderSpaces(self, text):原创 2020-09-20 23:05:41 · 169 阅读 · 0 评论 -
1582. 二进制矩阵中的特殊位置 第 206 场周赛
1582. 二进制矩阵中的特殊位置 第 206 场周赛传送门传送门结题思路# 思路1:首先计算每一行,每一列有几个1。再遍历矩阵的每一个数,若此数为1,则判断之前记录的第i行第j列是否都为1,若都是,则num += 1。class Solution(object): def numSpecial(self, mat): """ :type mat: List[List[int]] :rtype: int """原创 2020-09-18 16:39:35 · 130 阅读 · 0 评论 -
python常用函数库
python常用函数库1.insert()函数是插入到i的前面。2. 列表转字符串得使用’’.join()函数。3. zip()函数打包为元组的列表。4. set()函数创建不重复元素集。原创 2020-08-27 12:24:38 · 206 阅读 · 0 评论 -
1557. 可以到达所有点的最少点数目 LeetCode第 33 场双周赛
1557. 可以到达所有点的最少点数目传送门传送门结题思路# 思路1:# 找入度为0的结点即可。因为如果该结点有入度,则可以从另外一个结点到达此节点,而且还能增加到达一个结点,所以此入度的结点不在结果集中。# 总结:# zip()函数打包为元组的列表,set()函数创建不重复元素集。class Solution(object): def findSmallestSetOfVertices(self, n, edges): """ :type n: in原创 2020-08-27 11:34:53 · 164 阅读 · 1 评论 -
1556. 千位分隔数 LeetCode第 33 场双周赛
1556. 千位分隔数 LeetCode第 33 场双周赛传送门传送门结题思路# 思路1:# 利用一个for循环,从len-3开始,每隔3位插入一个点。# 总结:# insert()函数是插入到i的前面。字符串不能修改,list才能修改。列表转字符串得使用''.join()函数。class Solution(object): def thousandSeparator(self, n): """ :type n: int :rtype原创 2020-08-27 10:29:59 · 122 阅读 · 0 评论 -
5495. 圆形赛道上经过次数最多的扇区 LeetCode第 204 场周赛
5495. 圆形赛道上经过次数最多的扇区 LeetCode第 204 场周赛传送门传送门结题思路# 思路1:# 无论怎么跑,从起点开始跑,到终点的路程是经过次数最多的。所以中间的情况可以忽略。# 分两种情况:# 若终点大于等于起点,则起点到终点的这一段经过次数最多;# 若终点小于起点,起点到n,然后n到终点的这一段经过的次数最多。class Solution(object): def mostVisited(self, n, rounds): """原创 2020-08-23 16:40:03 · 157 阅读 · 0 评论 -
1539. 第 k 个缺失的正整数 第 32 场双周赛
1539. 第 k 个缺失的正整数 第 32 场双周赛传送门传送门结题思路思路1:遍历数组,若i不在arr中,则++count,当count等于k时,返回。python中没有自加符,这样会改变对象本身,可以 a += 1,这是重建了一个变量并赋值。class Solution(object): def findKthPositive(self, arr, k): """ :type arr: List[int] :type k: int原创 2020-08-21 15:48:05 · 98 阅读 · 0 评论 -
1552. 两球之间的磁力 LeetCode第202场周赛
1552. 两球之间的磁力 LeetCode第202场周赛传送门传送门结题思路思路1:由题意,可知,最小磁力为1,最大磁力为position的最大值减最小值//m-1,所以所求的最大化的最小磁力肯定在[最小磁力,最大磁力]之间。使用二分搜索,若最小磁力满足,能换一个更大一点的距离,此磁力满足的条件是,从第一个元素开始按此磁力摆放或更大的磁力摆放到超越此数组后,m个小球均摆放完。class Solution(object): def maxDistance(self, position, m原创 2020-08-20 23:46:10 · 167 阅读 · 0 评论 -
1551. 使数组中所有元素相等的最小操作数 LeetCode第202场周赛
1551. 使数组中所有元素相等的最小操作数传送门传送门结题思路// 思路1:判断n的奇偶性。若为奇数,则从n,持续-2加到1;若为偶数,则从n,持续-2加到2。// [1] 0// [1 3] 1// [1 3 5] 2+0// [1 3 5 7] 3+1// [1 3 5 7 9] 4+2// [1 3 5 7 9 11] 5+3+1// [1 3 5 7 9 11 13] 6+4+2// 总结:列几个特例出来找规律class Solution { public int原创 2020-08-20 11:09:37 · 167 阅读 · 0 评论 -
1550. 存在连续三个奇数的数组 LeetCode第202场周赛
1550. 存在连续三个奇数的数组 LeetCode第202场周赛传送门传送门结题思路// 思路1:外层for循环遍历0-n-3个元素,内层for循环遍历是否有连续三个为奇数。// 总结:正常双层循环遍历即可。class Solution { public boolean threeConsecutiveOdds(int[] arr) { for(int i = 0; i < arr.length-2; i++) { int原创 2020-08-20 10:24:57 · 203 阅读 · 0 评论 -
1546. 和为目标值的最大数目不重叠非空子数组数目 LeetCode第201场周赛
1546. 和为目标值的最大数目不重叠非空子数组数目传送门传送门结题思路思路1:用set存储前缀和,若加上nums[i]的和减去target的值存在set中,则数目加1,且clear set。HashSet存储前缀和class Solution { public int maxNonOverlapping(int[] nums, int target) { HashSet<Integer> s = new HashSet<Integer>();原创 2020-08-15 22:01:33 · 166 阅读 · 0 评论 -
1545. 找出第 N 个二进制字符串中的第 K 位 LeetCode周赛
1545. 找出第 N 个二进制字符串中的第 K 位 LeetCode周赛传送门传送门结题思路// 思路1:首先,Sn的长度为2的(n-1)次-1,其前半段的字符串为Sn-1,中间一个为“1”,后半段的为Sn-1取反后反转。最后找到的结果要么是中间的"1",要么是从“0”变来的。// 递归条件判断class Solution { public char char_not(char a) { if(a == '1') { re原创 2020-08-15 17:05:40 · 182 阅读 · 0 评论 -
5483. 整理字符串 LeetCode周赛
5483. 整理字符串 LeetCode周赛传送门传送门结题思路// 思路1:将字符串s依次入栈,若当前值与栈顶元素满足大小写关系时,pop栈顶元素。当字符串为空或为一个字符时,字节返回原串。class Solution {public: string makeGood(string s) { if(s.length() == 0 || s.length() == 1) return s; stack<char> stack;原创 2020-08-09 13:08:16 · 117 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找
剑指 Offer 04. 二维数组中的查找传送门https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/结题思路思路1:先将此数与二维数组的每行头元素值判断大小,大于等于其值再接着比对那行的值。class Solution {public: bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {原创 2020-08-08 22:28:42 · 102 阅读 · 0 评论 -
剑指 Offer 03. 数组中重复的数字
剑指 Offer 03. 数组中重复的数字传送门https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/结题思路// class Solution {// public:// int findRepeatNumber(vector<int>& nums) {// for(int i = 0; i < nums.size(); i++)// {原创 2020-08-08 21:57:06 · 84 阅读 · 0 评论 -
算法题-数组题集合
数组结题思路题目输入输出几变量包装01:与指定数字相同的数的个数描述输出一个整数序列中与指定数字相同的数的个数。输入输入包含三行:第一行为N,表示整数序列的长度(N <= 100);第二行为N个整数,整数之间以一个空格分开;第三行包含一个整数,为指定的整数m。输出输出为N个数中与m相同的数的个数。样例输入32 3 22样例输出2特殊值的思考方法待思考的问题算法步骤思路1:输入相关变量,遍历数组,用一个计数器表示与m相同的数的个数。源代码#incl原创 2020-08-02 13:24:32 · 244 阅读 · 0 评论 -
2020年7月5日蓝桥杯省赛心得总结
2020年7月5日蓝桥杯省赛心得总结感想失误比赛过程中调试的时间有点多,花了太多时间在调试上面;导致后面没有充裕的时间做最后几道题,本来可以解决的。原因是自己这次报的是python组,之前都是用c++写题,考前从c++思维转到python来,对一些python的报错不是很熟悉,该报错的时间改了挺久的。改进对常见报错知道如何改进,如何常见报错。...原创 2020-07-06 09:11:33 · 2475 阅读 · 12 评论 -
算法题解整理
算法题解整理序号类型解法1解法2步骤备注1动态规划DP table的状态转移+确定 base case变换目标(背包问题,可拿出)子序列问题一般可用DP来解决2二叉树递归遍历每个结点(遍历左右节点的顺序,压栈;直到全部出栈)3DFS4BFS5并查集使用成为"成为家庭"和"找父亲"的方法解决6字符串字符串与整形的转换;模式匹配(拼接函数:strcon(des,source));子字符串()i原创 2020-07-01 14:27:21 · 949 阅读 · 2 评论 -
算法题-数学题集合
数学题集合题目描述结题思路源代码题型分析下次再此类题中要注意的地方,通过这道题,我学到了什么新东西吗易中难紧般必此类题模板代码题目描述结题思路源代码题型分析下次再此类题中要注意的地方,通过这道题,我学到了什么新东西吗易中难紧1.般必此类题模板代码此类题模板代码题目描述结题思路源代码题型分析下次再此类题中要注意的地方,通过这道题,我学到了什么新东原创 2020-06-30 09:47:48 · 1944 阅读 · 1 评论 -
PAT基本数据结构题总结_队列,栈,链表,二叉树,并查集等
PAT基本数据结构题_队列,栈,链表,二叉树,并查集等leetcode与PAT的经典题目是互通的。<–>1. 1104. Sum of Number Segments题目描述https://pintia.cn/problem-sets/994805342720868352/problems/994805363914686464结题思路思路1:三个for循环,第一个for循环遍历索引,第二个for循环控制长度,第三个for循环累加固定长度的数组的和。第一个for循环遍历0到n原创 2020-06-05 10:27:30 · 365 阅读 · 0 评论 -
排序专项_快排_合并排序
排序专项_快排_合并排序1. 合并两个有序链表题目描述https://leetcode-cn.com/problems/merge-two-sorted-lists/解题思路思路1:迭代:两个for遍历两个链表,比较val的值,逐个指向较小的数。依次比较两条链表的第i个,第j个元素的大小,将新建一个工作节点prev上一次比较大小时的前一个节点,指向比较后较小的那个数对应的节点。思路2:递归比较两条链表的当前节点的大小,记录第一次比较时较小的节点为头节点返回。并使较小的节点指向为递归此原创 2020-09-15 23:21:29 · 142 阅读 · 1 评论 -
背包问题集合
背包问题专项1. 背包问题_无价值题目描述解题思路源代码题型分析下次遇到此类题我要注意的地方时间、空间复杂度此类题模板代码启发性或普适性总结2.题目描述解题思路源代码题型分析下次遇到此类题我要注意的地方时间、空间复杂度此类题模板代码题目描述解题思路源代码题型分析下次遇到此类题我要注意的地方时间、空间复杂度此类题模板代码启发性或普适性总结题目描述解题思路源代码题型分析下次遇到此类题我要注意的地方时间、空间复杂度此类原创 2020-05-12 21:42:22 · 715 阅读 · 2 评论 -
DFS、BFS专项
DFS、BFS专项1. 二叉树的最大深度(思路应该没问题,语法好像有错误)题目描述https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/解题思路思路1:DFS搜索若二叉树为空,直接输出0。否则进入2。将二叉树传入DFS,判断左右结点是否均为空,若均为空,则比较目前最大的深度,取较大值更新它;否则,将不为空的结点再次传入DFS。源代码#include <iostream>#include <cmat原创 2020-09-15 23:21:06 · 92 阅读 · 0 评论 -
获取字符数组,字符串的长度的函数总结
获取字符数组,字符串的长度的函数总结获取字符数组,字符串的长度的函数总结c/c++sizeof()一般用来计算变量占据存储空间大小。用来算字符数组长度时,包括计算最后的’\0’。strlen()计算到’\0’的长度,但不包括’\0’。length()计算string类型字符串s到’\0’的长度,但不包括’\0’ 。javajava中String类型有;length属性,可获得S...原创 2020-04-12 09:02:39 · 1917 阅读 · 0 评论 -
杂题
杂题1. 不连续1的子串题目描述串只包含0或者1,给定一个数字,输出以此为长度的01串不含连续1的串的个数。如输入3,则输出5,因为长度为3的01串不含连续1的串包括000, 001, 010, 100, 101。结题思路思路1:(暴力,较复杂)将0-n的数转成二进制数,用数组存储此二进制数;遍历此数组,判断1后有没有跟1,若有则break,遍历下一个数;若遍历完数组没有brea...原创 2020-09-15 23:17:41 · 955 阅读 · 0 评论 -
蓝桥杯100题总结
蓝桥杯100题总结1. 平方和题目描述小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574,平方和是 14362。注意,平方和是指将每个数分别平方后求和。请问,在 1 到 2019 中,所有这样的数的平方和是多少?结题思路思路1:依次遍历1-2019;整型转字符串;字...原创 2020-09-15 23:19:27 · 450 阅读 · 0 评论 -
PTA200题总结
PTA200题总结1. A+B Format题目描述Input Specification:Each input file contains one test case. Each case contains a pair of integers a and b where −106 ≤a,b≤106 . The numbers are separated by a s...原创 2020-09-15 23:19:05 · 207 阅读 · 0 评论 -
百练200题总结
百练200题总结原创 2020-03-15 20:00:27 · 435 阅读 · 0 评论