2019113916
2019113916
全部文章
题解
Java(8)
软件测试(1)
归档
标签
去牛客网
登录
/
注册
2019113916的博客
全部文章
/ 题解
(共49篇)
题解 | #几步可以从头跳到尾#
题意概述 给定一个长度为n的素组a ai表示从i这个位置开始最多能往后跳多少格 求从1开始最少需要跳几次就能到达第 n 个格子。 方法一:动态规划 思路与具体做法 dp[i]表示到达第i个格子至少需要的步数 循环2到n,找每个位置i的最远前驱j 并跟新dp数组dp[i]=dp[j]+1; ...
C++
贪心
动态规划
2021-12-07
0
525
题解 | #分糖果问题#
题意概述 给定一个得分数组,按照该数组给孩子分糖果 满足下列两个要求 每个孩子不管得分多少,起码分到一个糖果。 任意两个相邻的孩子之间,得分较多的孩子必须拿多一些糖果。(若相同则无此限制) 问最少需要多少糖果。 方法一:两次遍历 思路与具体做法 因为相邻的得分高的孩子要多拿一些糖果,所以对于每个...
C++
贪心
枚举
2021-12-07
2
681
题解 | #阶乘末尾0的数量#
题意概述 给定一个非负整数n 返回n!结果的末尾为0的数量 方法一:数学 思路与具体做法 因为0来源于2*5所以一对2和5即可产生一个0,所以0的个数即为阶乘中5的个数和2的个数的最小值 又因为2的倍数的数一定比5的倍数的数多,所以只需要统计5的个数了 class Solution { p...
C++
数学
2021-12-07
0
1240
题解 | #接雨水问题#
题意概述 给定一个整形非负数组,每个值表示一个柱子的高度 数组中元素的极大值之间,即柱子之间形成的凹陷处可接雨水,问按给定数组高度的柱子最多能接多少雨水 方法一:暴力(超时) 思路与具体做法 暴力扫描,两重循环。 第一重循环遍历整个数组,可知当前位置柱子的高度; 第二重循环分别从当前柱子向左向...
C++
双指针
枚举
2021-12-07
0
429
题解 | #kmp算法#
题意概述 给定一个模式串S和一个文本串T 要求得到模式串S在文本串T中出现的次数 方法一:Brute_Force算法(朴素模式匹配算法超时) 思路与具体做法 同时遍历文本串和模式串 如果两串对应位相等,接着比较下一位 如果不相等,令模式串回到上一次开始匹配位置的下一位,而文本串从头开始比较 ...
C++
字符串
2021-10-13
2
735
题解 | #旋转数组#
题意概述 给定一组长度为n数组 要求将其整体向右循环m个位置 方法一:模拟 思路与具体做法 不断从从数组尾取出元素, 插入数组头,然后删除数组尾的多余元素 直到循环M次为止 class Solution { public: vector<int> solve(int n,...
C++
数组
2021-10-12
0
366
题解 | #寻找峰值#
题意概述 给定一个任意两个相邻元素值不相等数组 要求返回索引最大的那个山峰元素的索引 山峰元素是指其值大于或等于左右相邻值的元素。 方法一:逆序遍历 思路与具体做法 逆序遍历整个数组,遇到到的第一个山峰元素即为索引最大的那个山峰元素 class Solution { public: ...
C++
二分查找
数组
2021-10-12
0
360
题解 | #缺失数字#
题意概述 从0~n中按序给定n个数 要求找出0~n中缺失的数 方法一:求和公式 思路与具体做法 等差公式求前n项和n*(n+1)/2 再累加整个数组的值 两个相减就是所缺失数字 class Solution { public: int solve(vector<int>&...
C++
数学
二分查找
2021-10-11
0
321
题解 | #最大公约数#
题意概述 给定两个自然数 要求给出他们的最大公约数 方法一:更相减损术 思路与具体做法 更相减损术介绍 《九章算术》原文: 可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也。以等数约之。 白话文译文:(如果需要对分数进行约分,那么)可以折半的话,就折半(也就是用2来约...
C++
数学
2021-10-11
3
579
题解 | #链表中的节点每k个一组翻转#
题意概述 给定一个链表 要求将链表中的节点每k个一组翻转 如果链表中的节点数不是 k 的倍数,将最后剩下的节点保持原样 方法一:递归 思路与具体做法 思路: 用递归实现不断分割链表,并对分割后的子链表进行反转,反转后再拼接回去即可 具体实现: 用到了四个指针,p2,p3指向当前反转区间...
C++
链表
栈
递归
2021-10-09
2
415
首页
上一页
1
2
3
4
5
下一页
末页