- 博客(4)
- 收藏
- 关注
原创 笨人小白的温故知新——递归(4)
其实本来是一段很简单的代码,但是这个题带给我的收获很大,所以我决定来做一个自己的反思回顾。来讲一下我做这道题遇到的问题(主要是解决运行超时的问题):1)我一开始并没有用记忆化,导致运行超时。2)我用了一个记忆化(但是是错的)!pell(k)试图判断返回值是否为 0,但pell(k)本身又会无限递归,永远无法执行到后续逻辑;你以为这就结束了?但是却运行超时了。why?
2025-12-16 09:07:52
271
原创 笨人小白的温故知新——递归(3)
我们把目光聚焦到第k位,让k、k+1、k+2······等位上的字母,均有机会坐到第k位上,而第k+1位、k+2位呢?那是下一个paixu()函数需要管的事,不归这一个函数管。(这就是我总是没有思路的原因,总是看着第k位上的,想着以后那些位该咋办)笨笨的我依旧没能做出来,仍然是参考大佬的做法,我现在来进行反思回顾大佬的思路,汲取经验。大佬的思路应该是:先固定当前位,再去固定下一位,直到所有的位置都被固定住。2)接着,3 => 2 => 1有着明显的递减规律,3是6的一半。针对第三个点,答案就很显然啦!
2025-12-15 20:00:02
513
原创 笨人小白的温故知新——递归(1)
2*5是由10分解而来的,这时,我们很容易想到递归:20的分解数有一部分是10的分解数贡献的。因为要保证因数>=前一次分解出的因数,所以是fenjie(k/i,i)先通过分解20来找规律:20 = 20 = 2*10 = 4*5 = 2*2*5 共4种。因为最先提出来的因数小,所以k/i才有可能继续提出因子,所以k/i作为下一步要分解的数。20 = 2*10 = 10 *2,显然这是两种分解方法是同一种。每进行一次分解,就要保证因数>=前一次分解出的因数。但这个比较复杂,所以我参考了大佬的做法,现在开始~
2025-12-14 09:41:52
306
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅