//returnasea
//returnasea
全部文章
分类
题解(106)
归档
标签
去牛客网
登录
/
注册
//returnasea的博客
全部文章
(共106篇)
题解 | #寻找峰值#
首先考虑峰值在两边的情况,然后再考虑峰值在中间的情况。 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector...
C++
2021-10-19
0
491
题解 | #换钱的最少货币数#
动态规划(完全背包):dp[i]表示兑换面值为i的钱币(装满容量为i的背包)所需要的最少货币数(物品数),第i个状态由上一状态,即放或者不放第j个物品推导而来,初始化dp为最大值,dp[0]=0. class Solution { public: /** * 最少货币数 ...
C++
2021-10-19
0
423
题解 | #链表中倒数最后k个结点#
单链表的长度大于k时,双指针法,pre和cur初始都指向头结点,先让cur走k步,然后pre和cur同时走,直到cur到达尾后结点,此时pre指向的结点就是倒数第k个;当链表的长度小于等于k时,直接返回nullptr。 /** * struct ListNode { * int val; * ...
C++
2021-10-19
0
435
题解 | #没有重复项数字的所有排列#
回溯法求排列,注意在求排列的时候要设置一个标记数组,以防止在纵向递归时重复选择元素。 class Solution { public: vector<vector<int>> result{}; vector<int> path{}; vo...
C++
2021-10-18
2
398
题解 | #集合的所有子集#
回溯法,选择集合中所有元素的组合,注意递归的返回条件是 index > nums.size() 。对于所有的子集还需要进行排序,写lambda表达式,对两个vector进行大小判断。 class Solution { public: vector<vector<int>...
C++
2021-10-18
0
348
题解 | #大数乘法#
被乘数从右往左遍历,每一位与乘数相乘,得到的一系列值通过补零右对齐,然后执行大数的加法运算。 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param s st...
C++
2021-10-18
0
417
题解 | #验证IP地址#
首先将字符串IP中的每一段子串保存在数组vec中,然后判断格式正确与否,分为段数的判断、0的判断、值的判断。 class Solution { public: /** * 验证IP地址 * @param IP string字符串 一个IP地址字符串 * @ret...
C++
2021-10-18
0
424
题解 | #最大数#
将nums数组中的整数转换为string,然后将这些string保存到vector中,定义lambda表达式对string元素进行排序(注意4, 410这种情况),方法是对两个元素进行拼接,然后比较拼接之后的大小。最后对已经排序的string数组连接起来就可以了。 class Solution { ...
C++
2021-10-18
0
355
题解 | #环形链表的约瑟夫问题#
将1~n的元素保存到list中,定义一个函数,用来求解从iter位置出发走number步到达的位置,要注意达到list尾端的时候又重新回到list首端(成环). 然后每走number步删除相应的元素,直到只剩一个元素。 class Solution { public: /** * ...
C++
2021-10-18
0
428
题解 | #数组中的最长连续子序列#
先用unordered_set去重,然后遍历哈希set中的元素x,当存在x-1时说明从x开始找得到的长度并不是最大,直接跳过,否则,从x开始,不断寻找x+1,x+2...,记录最大长度。 class Solution { public: /** * max increasing s...
C++
2021-10-18
0
351
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页