- 博客(10)
- 收藏
- 关注
原创 【2022/12/20】每日leetcode以及effective c++
给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。说明: 你可以假设 n 不小于 2 且不大于 58。这道题的话,也是五部曲1、dp[i]代表i拆分的最大乘积。
2022-12-20 16:14:22 87
原创 【2022/12/20】virtual多态学习
使用virtual使得对象可以使用指针所指向的对象的函数。因为不使用virtual,那么就会直接静态绑定test2,使用virtual,虚函数表指针才会发生转变,从而指向正确的函数表。同时,指针操作不会构造出任何新的东西出来,引用也一样。写override是为了检查是否声明virtual,如果只写了override没写virtual会报错。
2022-12-20 14:45:05 96
原创 【2022/12/19】每日leetcode&&effective c++
当我们去制造一个类的时候,就要拿int做范本,接口尽量做得一致(如STL般),并且要考虑到对象的生命周期,就可以使用shared_ptr,并且绑定自己设计的编辑器,这还可以避免所谓的cross-dll问题,就是可能在不同的DLL里面使用不同的构造析构函数,导致错误。2、状态转移公式:dp[i][j] = dp[i-1][j] + dp[i][j-1];输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]输入:obstacleGrid = [[0,1],[0,0]]
2022-12-19 15:59:46 282
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人