mtgo666
mtgo666
全部文章
题解
Linux学习笔记(10)
STL(7)
基础算法(9)
学习笔记(10)
归档
标签
去牛客网
登录
/
注册
mtgo666的博客
全部文章
/ 题解
(共7篇)
题解 | #买卖股票的最好时机(一)#
思路 这道题的核心在于找两个数之间的最大差值(当然,一定得是后面数-前面数,因为买入在卖出前)。暴力求解法很容易想到,这里不做赘述。 由于核心在于不断遍历容器中的值,每次遍历都让该值减去前面的最小值。得出的结果存放在ans变量中。ans总是存储最大差值,因此要不断更新,所以核心就在于: 每次遍历,...
C++
贪心
数组
2022-02-27
0
349
题解 | #扑克牌顺子#
思想 首先,如果这五张牌除了0,其余任何一张点数出现次数超过1则说明牌不是顺子,返回false。这里我判断的时候使用了哈希表。其次。开辟一个辅助数组ans。我们把给定牌不是0的牌放到这个ans中。使用sort函数对ans容器排序。这个时候如果第一个元素+4<最后一个元素的话,说明这个牌肯定连续...
C++
数组
#模拟
2022-02-27
0
311
题解 | #数字在升序数组中出现的次数#
解法一(哈希法) 思想 很显然,把数组中的数放到一个哈希表中,然后返回k对应的次数。 代码实例 class Solution { public: int GetNumberOfK(vector<int> data ,int k) { //哈希 un...
C++
数组
#二分法
2022-02-26
0
320
题解 | #连续子数组的最大和#(动态规划)
算法思路(动态规划) 设dp[n]为以第n个数为结尾,得到的子数组的和的最大值,因为以第n个数为结尾所以array[n]是必然被选择的。 基于dp[n-1]的值,如果dp[n-1]>0,我们加上这个正数,我们的值是不是必然会增大;如果dp[n-1]<0,那么我们加上负数,我们的值就会减...
C++
数组
动态规划
2022-02-25
1
393
题解 | #数组中出现次数超过一半的数字#
思路 很简单,只需要利用sort函数对数组进行排序。返回数组中间的那个数就是所求数。(因为这个数的出现次数超过了数组的一半)。 代码实现 class Solution { public: int MoreThanHalfNum_Solution(vector<int> numb...
C++
数组
2022-02-25
0
321
题解 | #打印从1到最大的n位数#
代码实现 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 最大位数 * @return int整型vector...
C++
数组
2022-02-22
0
393
《剑指offer》——找数组重复数字
思路 利用algorithm中的sort函数对数组排序,然后利用两个指针遍历数组,返回第一个两个指针指向值相同的元素。如果没有重复元素,那么指针最后会一直往后走,这里一定要考虑边界情况, 代码实现 class Solution { public: /** * 代码中的类名、方法名...
C++
数组
2022-02-19
1
979