软件工程代码1

-----------爬楼梯-------------

class Solution {
public:
    /**
     * @param n: An integer
     * @return: An integer
     */
    int climbStairs(int n) {
        //
{
    if(n<=0)
    {
        return 0;
    }
     else if(n==1)
 {
 return 1;
 }
else if(n==2)
{
return 2;
}
else
{
return climbStairs(n-1)+climbStairs(n-2);
}
}
return climbStairs(n);
}
}

----------删除有序数组重复元素------------

class Solution {
 public:
    /**
     * @param A: a list of integers
     * @return : return an integer
     */
    int removeDuplicates(vector<int> &nums) {
        // write your code here
        int end= 1;  
        int l= nums.size(); 
        if(l==0)
           {
               return 0;
           }
        else
            if(l == 1)  
            {
            return 1;  
            }
            else{  
                for(int i=1;i<l;i++)  
                {  
                if(nums[i]!=nums[end-1])  
                {  
                    nums[end++] = nums[i];  
                }  
                }  
                return end;  
        }  
    }

};

--------------买卖股票最佳时期--------------

class Solution {
public:
    /**
     * @param prices: Given an integer array
     * @return: Maximum profit
     */
    int maxProfit(vector<int> &prices) {
        // write your code here
        int re=0;
if(prices.size()<2)
    return re;
int lowest = prices[0];
for(int i=1;i<prices.size();i++)
{
    int cur = prices[i];
    re = max(re,cur-lowest);
    lowest = min(lowest,cur);
}
return re;

}
};

时间: 2024-10-14 15:32:15

软件工程代码1的相关文章

学完《软件工程(C编码实践篇)》之后的总结

By: 纪*保*华 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 Part1  对代码层面的软件工程的理解及学习心得体会 作为一个此前未系统学习过软件工程的学生,在学习本门课程之前,对软件工程的印象仅仅是一本厚厚的教科书和枯燥无味的文字描述,就代码层面来说,也仅仅是停留在代码量和代码规范的浅显理解上. 在这两个月的学习过程中,从一开始的熟悉linux开发环境,到慢慢发现软

20170927-构建之法:现代软件工程-阅读笔记

软件分为系统软件,应用软件和恶意软件. 软件=程序 + 软件工程 代码风格的原则:简明,易读,无二义性 代码风格规范:缩进,行宽,括号,断行与空白的{}行,分行,命名,下划线,大小写,注释 代码复审的形式: 自我复审 同伴复审团队复审 代码复审的目的: 1,找出代码的错误 2,发现逻辑错误,程序可以编译通过,但是代码的逻辑是错的 3,发现算法错误,比如使用的算法不够优化,边界条件没有处理好 4,发现潜在的错误和回归性错误 5,发现可能需要改进的地方 6,互相教育开发人员,传授经验 错误处理: 参

Exynos4412 IIC总线驱动开发(一)—— IIC 基础概念及驱动架构分析

关于Exynos4412 IIC 裸机开发请看 :Exynos4412 裸机开发 -- IIC总线 ,下面回顾下 IIC 基础概念 一.IIC 基础概念 IIC(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备.IIC总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信.例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇.可随时监

IIC设备驱动程序

IIC设备是一种通过IIC总线连接的设备,由于其简单性,被广泛引用于电子系统中.在现代电子系统中,有很多的IIC设备需要进行相互之间通信 IIC总线是由PHILIPS公司开发的两线式串行总线,用于连接微处理器和外部IIC设备.IIC设备产生于20世纪80年代,最初专用与音频和视频设备,现在在各种电子设备中都广泛应用 IIC总线有两条总线线路,一条是串行数据线(SDA),一条是串行时钟线(SCL).SDA负责数据传输,SCL负责数据传输的时钟同步.IIC设备通过这两条总线连接到处理器的IIC总线控

SPI_FLASH时序描述及驱动编程

Ⅰ.写在前面 前面文章讲述过关于SPI的驱动(硬件SPI 和 软件模拟SPI),本文接着那篇文章来讲述关于SPI应用中[FLASH时序描述及驱动编程]. 写这篇文章的目的有两点:1.让大家知道SPI在实际应用开发中的重要意义: 2.让大家掌握SPI FLASH存储芯片的时序及驱动编程. 市面上的SPI FLASH类型很多,但是绝大部的芯片在硬件和软件上都是兼容的.虽然本文是以华邦的W25X16芯片为例来讲述时序.其实,其它大部分SPI FLASH都适用. 有必要看芯片手册,按照手册一步一步写程序

How Javascript works (Javascript工作原理) (十五) 类和继承及 Babel 和 TypeScript 代码转换探秘

个人总结:读完这篇文章需要15分钟,文章主要讲解了Babel和TypeScript的工作原理,(例如对es6 类的转换,是将原始es6代码转换为es5代码,这些代码中包含着类似于 _classCallCheck 和 _createClass这样的函数,而这些函数已经在Babel和TypeScript的标准库中预先定义好了,然后进行处理). 顺便温习了Object.create这个方法,  比如有一个obj:{name:'是ho',f:function(){alert(1)}} var a = O

团队任务3每日立会(2018-10-23)

第七小组 开发软件名称:飞机大战 项目经理:边禹男 学号:2016035107004 一.团队汇报 今天我们团队的目标是UI设计师和软件工程师选定背景和音乐,并设计出滚动的背景和子弹和飞机的碰撞出来的效果. UI设计师(包月) 软件工程师(程丹) 软件工程师(蔡伊俊瑶) 软件工程师(董文悦) 产品经理(董青山) 营销经理(董建伟) 二.团队总结 今天我们团队相对于昨天而言工作进度能快些,出现的问题是在软件工程代码的问题,我们的操作度不太熟练,总是写一点思路就断,然后接不上思路.最后软件工程师问了

错误和问题解决的成本

问题描写叙述 错误 数据收集 根本原因 版本号   组件:数据修复           在一个实际成本组织中,(平均,先进先出,后进先出) 一个或更 多的下面情况可能发生: 1.导航到物料成本历史表单上的数量信息,与现有量表单的数量不匹配的记录 2. 一些物料前期已计成本的数量与前面的事务处理历史表单的数量不匹配 3. 全部的库存值报表与事务处理值报表不匹配 4. 存货层次成本更新表单的总数量与现有量数量表单不匹配(只在先进先出/后进先出) 5.这些症状的不论什么一个意味着 MMT-CQL不匹配

软件工程第二周作业:代码规范和代码复审

0x01 :代码规划的要求 Q:这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西.(反驳) 首先,我们需要明确编码规范的定义,编码规范同时包括了编码风格和其它规范(代码设计上的规范,如设计模式.程序设计.模块之间的逻辑关联等). 编码风格,牵扯到“缩进.空格使用.注释.命名习惯”等多方面的因素,是依致特定编程语言制定的软件工程开发的“约定”,而相同的编码风格,可以使得软件开发过程中轻松浏览任意一段代码,充分保证不同的开发人员能够依据统一的编码格式轻松理解代码的逻