• leetcode-每日一题-119-杨辉三角2(简单,dp)


    今天这道题是一道简单的dp题说实话很好想到解法,就是用两个dp来回倒换即可解除,然后也没啥难度所以就不解释了,养成一个好习惯就是设置数组的时候需要malloc动态获取即可,然后使用memset进行初始化,注意memset只能进行0的初始化,如果是字符串或者初始化成其他的数字我建议用for其他也没啥需要强调的

    给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。

    在「杨辉三角」中,每个数是它左上方和右上方的数的和。

    示例 1:

    输入: rowIndex = 3
    输出: [1,3,3,1]
    示例 2:

    输入: rowIndex = 0
    输出: [1]
    示例 3:

    输入: rowIndex = 1
    输出: [1,1]
     

    提示:

    0 <= rowIndex <= 33

    来源:力扣(LeetCode)
    链接:https://leetcode.cn/problems/pascals-triangle-ii
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    1. /**
    2. * Note: The returned array must be malloced, assume caller calls free().
    3. */
    4. int* getRow(int rowIndex, int* returnSize){
    5. if(rowIndex==0)
    6. {
    7. int *dp1=(int*)malloc(sizeof(int)*(1));
    8. dp1[0]=1;
    9. *returnSize=1;
    10. return dp1;
    11. }
    12. int i,j;
    13. int *dp1=(int*)malloc(sizeof(int)*(rowIndex+1));
    14. int *dp2=(int*)malloc(sizeof(int)*(rowIndex+1));
    15. //int dp1[rowIndex+1],dp2[rowIndex+1];
    16. *returnSize=rowIndex+1;
    17. memset(dp1,0,sizeof(dp1));
    18. memset(dp2,0,sizeof(dp2));
    19. dp1[0]=1,dp1[1]=1,dp2[0]=1;
    20. for(i=2;i<=rowIndex;i++)
    21. {
    22. for(j=1;j
    23. {
    24. dp2[j]=dp1[j]+dp1[j-1];
    25. }
    26. dp2[i]=1;
    27. for(j=1;j<=i;j++)
    28. {
    29. dp1[j]=dp2[j];
    30. }
    31. }
    32. for(int k=0;k<=rowIndex;k++)
    33. {
    34. printf("%d ",dp1[k]);
    35. }
    36. return dp1;
    37. }

     错了一次是没有考虑到0的存在。。。。。大意了

     

  • 相关阅读:
    索引的创建和设计原则
    gitee git 打一个 tag
    C++面试100问!(三)
    VS code运行vue项目
    2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷9(私有云)
    计算古坐标——基于GPlates Web Service的坐标点重建
    Gin 中使用 Cookie,Session
    【scipy 基础】--傅里叶变换
    MySQL IO相关配置参数
    springBoot 整合redisson实现消息订阅详细教程
  • 原文地址:https://blog.csdn.net/qq_59002046/article/details/127797764