• 2023-09-17力扣每日一题


    链接:

    213. 打家劫舍 II

    题意

    n个数字围成一圈,禁止取相邻,求能取到的最大值

    经典DP+特判/一丢丢思维

    可以开个bool判断第一个取没取,然后判断最后一个,同样,再倒着做一遍即可

    思维:把0到lg-2 和 1到lg-1各做一遍即可

    实际代码:

    #include
    using namespace std;
    int rob(vector& nums)
    {
    	int lg=nums.size();
    	vectornums1(lg),nums2(lg);
    	if(lg==1) return nums[0];
    	if(lg==2) return max(nums[0],nums[1]);
    	
    	nums1[0]=nums[0];nums1[1]=max(nums[0],nums[1]);
    	for(int i=2;i
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    限制:

    • 1 <= nums.length <= 100
    • 0 <= nums[i] <= 1000
  • 相关阅读:
    Flink笔记整理(一)
    vue3学习记录之内置组件TransitionGroup基于状态变化的过渡和动画
    【JVM调优实战100例】04——方法区调优实战(上)
    【Verilog】画出下列wave信号波形图
    认证学习1 - 概要知识
    机器学习中的交叉熵
    广义最小残量法
    ffmpeg-android studio创建jni项目
    解决mysql8 Operation ALTER USER failed for ‘root’@’%‘
    QGIS编译(跨平台编译)之五十:MacOS环境下安装Python、pyqt5、pyqt5-tools等
  • 原文地址:https://blog.csdn.net/Fei_WuYan/article/details/132957423