首页 > 编程语言 >【算法题】吃糖问题

【算法题】吃糖问题

时间:2023-11-10 10:57:56浏览次数:49  
标签:... findWayEatSugar const wayArr ele 问题 算法 result 吃糖

题干:一个人一次可以吃1颗糖,也可以吃2颗糖,也可以同时吃下n颗糖。求这个人吃完n颗糖有多少种方式。

 function findWayEatSugarNumber(n) {
        const wayArr = findWayEatSugar(n);
        const returnArr = wayArr.map((ele) => ele.sort()).map((ele) => ele.join());
        return Array.from(new Set(returnArr));
    }
    function findWayEatSugar(n) {
        const result = [[n]];
        for (let i = 1; i <= n; i++) {
            const j = n - i;
            if (j === 0) continue;
            const jArr = findWayEatSugar(j);
            const prevArr = jArr.map((ele) => [i, ...ele]);
            result.push(...prevArr);
        }
        return result;
    }
    const testArr = [1, 2, 3, 4, 5, 6, 7, 8];
    testArr.forEach((ele) => {
        const result = findWayEatSugarNumber(ele);
        console.log(`吃${ele}颗糖,共有${result.length}种方式,分别为:`, result);
    })

  

 

标签:...,findWayEatSugar,const,wayArr,ele,问题,算法,result,吃糖
From: https://www.cnblogs.com/LeoXnote/p/17823571.html

相关文章

  • gitlab由16.4.1升级到16.4.2后样式丢失的处理方法,升级16.5.1和16.5.2 都会出同样的问
    gitlab由16.4.1升级到16.4.2后,主页样式丢失的处理方法1.通过chrome的F12功能,通过报错可以看到多个文件找不到的问题,共计4个CSS文件,1个JS文件,一个SVG文件。更新后正常2.处理办法,在这个目录(/opt/gitlab/embedded/service/gitlab-rails/public/)下,逐个找到对应的文件,并拷贝找不到......
  • Laravel框架log权限的问题
    storage目录权限已经设置成777,每天首次访问都会报以下异常:Thestreamorfile"/var/www/storage/logs/laravel.log"couldnotbeopened:failedtoopenstream:Permissiondenied查看php-fpm.conf的运行用户是www-data;Unixuser/groupofprocesses;Note:Theuseris......
  • OpenFeign 接口调用问题及解决方案
    问题描述如果在同一个工程中出现两个OpenFeign接口使用一样的服务名称会报以下错误:Description:Thebean'optimization-user.FeignClientSpecification',definedinnull,couldnotberegistered.Abeanwiththatnamehasalreadybeendefinedinnullandoverridin......
  • 解决Maven中90%的依赖(导包)问题
    今天给大家分享一个非常好用的技巧,这个技巧是一个组合技巧是的,自从我开始接触了以spring为框架的项目学习后,这个maven导包老是出现问题,每次在这个上面花费好多时间,于是乎打算写一个秘籍出来。你可能会遇到这样的问题这玩意咋红了,看人怪吓人的接下来这个我们来看看有什么解决......
  • Mysql问题
    按照黑马安装mysql,调用cmd,输入mysql,回车之后跟教程上显示的不一样:我显示的是:mysql8.0ERROR1045(28000):Accessdeniedforuser‘ODBC‘@‘localhost‘(usingpassword:NO) 解决方法在:终极解决mysql8.0ERROR1045(28000):Accessdeniedforuser‘ODBC‘@‘l......
  • 算法
    二叉树二叉树结点的定义structTreeNode{ intval; TreeNode*left; TreeNode*right; TreeNode(intx):val(x),left(nullptr),right(nullptr){}};//分号记得有关二叉树的一些概念根节点:位于二叉树顶层的节点,没有父节点。叶节点:没有子节点,两个左右子节点的......
  • mybatis中日期时间比较遇到得问题
    今天进行下面得查询得时候,总是报:Cause:java.lang.IllegalArgumentException:invalidcomparison:java.time.LocalDateandjava.lang.String,提示不能将LocalDate类型与String类型进行比较,刚开始一直在检查<if>下得条件,寻思是不是类型写的不对,后来才发现是<if>标签中得判断问题,......
  • 算法day1数组|力扣704二分查找,27移除元素
    数组基础理论数组是存放在连续内存空间上的相同类型数据的集合。可以通过下标轻松获取数据,但是增删元素的时候需要移动其他元素Vector和array的区别vector的底层实现是array,但是vector是容器不是数组数组的元素不能删除,只能覆盖小技巧:取中间intmid=l+r>>1;//有时候怕溢......
  • python升级到3.12版本, 开发模式安装包, 在vscode下Pylance无法解析的问题处理
    问题描述在python3.11版本下开发python库,为方便调测,使用开发模式安装包.使用如下命令:pipinstall-e.其中-e参数表示开发模式下安装python包,它并没有把包相关文件拷贝到site-packages目录,而是创建一个链接指向当前的开发库.这样,当自己开发的包修改后会立即生效,......
  • 标题:Dubbo RPC开发中的序列化问题:深度解析反序列化导致的HashMap异常
    DubboRPC开发中的序列化问题:深度解析反序列化导致的HashMap异常在使用DubboRPC进行开发时,我们可能会遇到一些出乎意料的问题。其中之一就是在进行远程调用时,内部嵌套对象出现与预期不符的HashMap。这个问题的根源在于反序列化过程中找不到对象,导致解析成了HashMap。在这篇博客......