算法对我来说真的是技术环节中 的一道死穴,或者某一种借口,使用java的人忽略了这些技术方面的实现。

今天有一道题,很有意思,说:

规律如下:一个值是其前2个位置的值的和,比如1,1,2,3,5,8,.....

我记得这个在开始大学学《数据结构》的时候,曾经学过,我30秒就写出了伪代码:

func(n){

if(n<3)return 1;

return func(n-1)+func(n-2);

}

但要求用for循环来实现的时候,却有点思路不同,也许有些累了(坚持差不多2小时了),所以就放弃了。

回家后,打开ide,想了想这道题,却忽然发现很简单:
int func(int n){
        if(n < 3){
            return 1;
        }
        int a=1,b=1,c=0;
        for(int i=3;i<=n;i++){
            c=a+b;
            a=b;
            b = c;
        }
        return c ;
    }

看来不常用,真的忘记了很多基本的东西,比如更深一步,这个算法复杂度多少呢?脑袋又是浆糊了...

转载于:https://my.oschina.net/vdroid/blog/212086

关于一个简单算法的递归和循环转换实现相关推荐

  1. java erlang 游戏_游戏中最近可达点(用erlang写一个简单算法)

    游戏中有点击障碍点,人物走到离障碍物最近点的算法.我这给一个简单的算法,这个问题可以复杂化,另外这个问题应该由客户端来完成. 如图,玩家在b点,点击了a点,a在一个障碍区(红色,玩家只能在障碍区外移到 ...

  2. 由一个简单算法想到的程序员素养问题

    题记:五月从帝都回到武汉,旅游半个月后开始找新工作,六月选择了一家华中地区为数不多的移动互联网公司入职至今,略有感触--比较帝都码农与武汉码农的平均水平,就跟两个城市的经济发展水平差异一样大,不是说武 ...

  3. 一个数独问题的算法(已更新,提供一个简单算法,欢迎拍砖)

    前段时间出差在外闲得无事看到一个数独问题.有三题,脑子不好使,只做出前两题.想想不如用程序来实现. 我先把题放出来大家有兴趣研究一下. 8 5 7 1 1 9 2 6 2 5 6 9 2 4 5 8 ...

  4. 二分查找算法的递归、循环实现及其缺陷

    关于二分查找法 在学习算法的过程中,我们除了要了解某个算法的基本原理.实现方式,更重要的一个环节是分析算法的复杂度.在时间复杂度和空间复杂度之间,我们又会更注重时间复杂度,往往用牺牲空间换时间的方法提 ...

  5. 算法之递归和循环比较

    递归的缺点 首先递归实现效率不如循环. 递归由于是函数调用自身,而函数调用要消耗空间和时间,每一次调用都需要在内存栈中分配空间,来保存参数.返回地址及临时变量,并且往栈里压入数据和弹出数据都需要时间. ...

  6. C++ 有关string类的基本语法以及一个简单算法 理论加案例的形式

    #include<iostream> using namespace std; #include"string" //string类的头文件 #include" ...

  7. 火车运煤问题 - 增加一个简单算法实现

    火车运煤问题 你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨煤,且其能耗比较大--每一公里 ...

  8. html 表格自动计算,一个简单的js事件,循环table并自动计算总价

    texter function $get(id){ return document.getElementById(id); } var table=null; function caculPrice( ...

  9. 一个简单的Vue过滤器

    一个简单的Vue过滤器 什么是过滤器: 是一种数据处理的方式,它并不是一定需要使用的. 如果不用过滤器的话,用 methods 或者 computed 配置项也可以实现. 演示一个简单的过滤器,把时间 ...

最新文章

  1. c语言中的if语句_If ... C中的其他语句解释
  2. php编写开机启动脚本,设置 msyql php-fpm 开机自动启动脚本
  3. 《深入剖析NGINX》学习记录
  4. 《C++ Primer第五版》第一章-------IO机制和注释缩进
  5. *【CodeForces - 1150D】Three Religions(dp,预处理,思维)
  6. android @style/name,android style和attr的用法
  7. 机器学习---人脸对齐的基于形状模型的训练
  8. linux 1394驱动下载,1394驱动
  9. 算法-猴子运香蕉,看谁剩的多,N种解法
  10. Android APP微信第三方登录踩坑 - 微信开放平台修改应用包名后微信第三方登录失败
  11. Font Awesome 找图标的正确姿势
  12. 坦然面对:应对前端疲劳
  13. 微信小程序自定义省市县联动组件
  14. 优化方法理论合集(10)——贝尔曼动态管理方法
  15. OceanBase | 一文了解OBCA认证内容
  16. 生成特定于查询的类API摘要 (Generating Query-Specific Class API Summaries)
  17. scratch3.0-界面介绍
  18. WinCC智能报表(代替热风炉岗位工手抄日志)
  19. 4-Python3从入门到实战—基础之数据类型(字符串-String)
  20. [宋史学习] 宋太宗评价

热门文章

  1. 飞桨模型保存_史上最全解读 | 飞桨模型库重大升级 主流算法模型全覆盖
  2. 20211109:DC综合的一些简单概念理解记录
  3. 20200316:H指数(leetcode274)
  4. 20190905:(leetcode习题)爬楼梯
  5. php反序列化java.long_细数java中Long与Integer比较容易犯的错误总结
  6. python连接数据库mysql失败_解决python连接mysql报错问题
  7. 加密芯片在汽车无钥匙启动行业的应用
  8. VB 进制转换大全(十进制、十六进制、八进制、二进制、二进制流)互转
  9. VB禁用CTRL +ALT + DEL (2)
  10. 量子艺术、魔法成像、水生政治、性方程式……这些AI“衍生”科目都是啥?...