自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 LeetCode每日一题#377

对于任意一个dp[i],我们遍历nums,如果nums[j]<=i,我们就可以将dp[i-nums[j]]的值加到dp[i]中。说明:我第一眼看到这个题目的时候,想当然的以为跟昨天的题一样,要用回溯来做。但是我把昨天的代码扒下来套的时候发现,只用昨天的那个模板,只能求出部分解,例如示例一,我只能求出(1,1,1,1),(1,1,2),(1,3),(2,2)。在内层的循环中,我们遍历了整个数组,1和3都有可能作为该组合的结尾。这里的i-nums[j]就代表以nums[j]为结尾的和为i的组合。

2024-04-22 17:42:01 439 4

原创 LeetCode每日一题#216

这道题我们设定void dfs(int num,int k, int n, int*tmp),其中num是1-9的某一个数,n,k表示我还差k个数构成和为n的序列。如果此时num=9,k=1,n=9,那么dfs中的参数分别为10,0,0,tmp,显然tmp中的数组序列已经满足了题目要求。在[1,9]范围内使用4个不同的数字,我们可以得到的最小和是1+2+3+4 = 10,因为10 > 1,没有有效的组合。这里面有个关键点,if(num>9)这个判断语句必须在if(k==0&&n==0)之后。

2024-04-21 10:06:45 503 3

原创 LeetCode每日一题#39

(因为我的CombineArr_size设置的时全局变量,因此需要减一,码友们也可以将其作为dfs的参数,这样就不会有减一这个操作了)我们可以定义一个搜索函数dfs(int*candidates, int candidates_size,int target ,int idx),其中candidates为题目中给定的数组,candidates_size为candidates的大小,target表示与题目给定的target的‘距离’,当距离为0时,说明搜索到的元素为答案。7 也是一个候选, 7 = 7。

2024-04-20 23:44:20 671

原创 LeetCode每日一题#1883

最后在比较 f[n][j]≤hoursBeforef[n][j] \leq \textit{hoursBefore}f[n][j]≤hoursBefore 时,我们也需要将左侧减去 eps\text{eps}eps 或将右侧加上 eps\text{eps}eps,再进行比较。不跳过任何休息时间,你将用 (7/2 + 1/2) + (3/2 + 1/2) + (5/2 + 1/2) + (5/2) = 11.5 小时才能抵达会议现场。注意,这意味着与不跳过任何休息时间相比,你可能在不同时刻到达接下来的道路。

2024-04-20 21:54:27 936 3

原创 LeetCode每日一题#2007

说明:chaged数组中的元素取值范围在0~100000之间,所以我们可以将changed中的元素存在一个大小为100001的数组hash中。(可能有人会有疑问,就是数组中的元素范围在0~100000,为什么不把这个哈希数组的容量扩张成200002,这是因为changed中的元素是original数组中的元素乘2得来的,所以说original中元素范围在0~50000,因此我们在changed中如果遍历到大于50000的数字,直接返回NULL就行了)- 将 1 乘以 2 ,得到 1 * 2 = 2。

2024-04-18 14:45:24 360

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除