软件工程试验一

题目1:删除排序数组中的重复数字

描述:给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。

不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。

样例

给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。

public int removeDuplicates(int[] nums) {
// write your code here
if(nums.length==0)
return 0;
int i;
int n=nums.length,j;

for(i=0;i<n-1;i++)
{
if(nums[i+1]==nums[i])
{
for(j=i;j<n-1;j++)
{
nums[j]=nums[j+1];
}
n--;
i--;
}
}

return n;
}
}

题目2:买卖股票的最佳时机

描述:假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。

样例

给出一个数组样例 [3,2,3,1,2], 返回 1

int maxProfit(vector<int> &prices) {
// write your code here
if(prices.empty())return 0;
int i,j,t=0;
int min=prices[0];
for(i=1;i<prices.size();i++)
{
t=max(t,prices[i]-min);
if(min>prices[i])
{
min=prices[i];
}
}
return t;
}

题目3:爬楼梯

描述:假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?

样例

比如n=3,1+1+1=1+2=2+1=3,共有3中不同的方法

返回 3

int climbStairs(int n) {
// write your code here
int array1[1000];
array1[0]=1;
array1[1]=1;
for(int i=2;i<=n;i++)
{
array1[i]=array1[i-1]+array1[i-2];

}
return array1[n];
}

时间: 2024-10-25 01:27:55

软件工程试验一的相关文章

软件测试计划文档(改)

软件测试计划文档 项目名称:英雄达拉崩吧 小组名称:Scientific_ZEAL软工小分队 项目负责人:刘帅 小组成员:房渤萱 张赐 宋从智 冯惠妍 1.    引言 1.1编写目的 为了尽可能的找出软件的不足,提高软件的质量,促进软件的成功验收,给用户尽可能好的体验.编写本文档.其主要目的在于为所要进行的测试工作制定各种必要的准则和规范,以及在有关方面协议的基础上对测试工作进行合理组织与管理. 1.2项目背景 项目名称:英雄达拉崩吧 项目提出者:Scientific_ZEAL软工小分队 开发

多年收集的一些稀有软件2

QQ:365543212 Fuel Economy Calculator v1.1 B.001(汽车工程软件,用于预测车辆燃油消耗率,是目前此类软件中最为全面的,能接收从最新的发动机分析程序Engine Analyzer自动发送来的强大的游标和发动机规格) Psat v5.1 1CD ProScan.v5.1 1CD PowerFlow v3.3p3a for Linux 1CD(Exa公司的汽车外气流计算软件) Rotating Inertia Calculator v1.1 A.000(一款

MySQL外键约束的使用

软件工程试验二中要求建立如下数据库: 使用MySQL建立一个“图书数据库“ BookDB,包含两张表:– Book {ISBN (PK), Title, AuthorID (FK), Publisher, PublishDate, Price}– Author {AuthorID (PK), Name, Age, Country} 其中FK是 foreign key的意思,即给Book数据表加上一个外键约束,下面先解释下外键约束的作用. 定义外键主要是为了维护关系数据库的完整性,使相关数据表之间

Day4 - 迭代器&amp;生成器、装饰器、Json &amp; pickle 数据序列化、软件目录结构规范

---恢复内容开始--- 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 需求:列表a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求把列表里的每个值加1 1 a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 2 b = [] 3 for i in a: 4 b.append(i+1) 5 a = b 6 print(a) 普通青

三件软件作品评价

先交代三件软件作品的相关资料.   软件一 软件二 软件三 软件名称 蜗牛词典APP 24点小游戏APP 物理实验网站 学校 2017集美大学1412软工实践  集美大学1411 北京航天航空大学计算机学院 团队名称 SNS1412 hexagon 软剑攻城队 团队博客地址 http://www.cnblogs.com/jmu-sns/ http://www.cnblogs.com/24app/ http://www.cnblogs.com/buaase/ Git地址 https://codin

IE 弹出提示:由于无法验证发布者,所以Windows 已经阻止此软件

由于无法验证发布者,所以Windows 已经阻止此软件 按如下步骤:1.打开Internet Explorer---菜单栏点“工具”---Internet选项--安全---自定义级别---安全设置---“ActiveX控件和插件下”的第5个“下载未签名的ActiveX控件”选择“提示”---确定!刷新您要安装的页面即可(因为使用的软件没有通过微软的徽标认证,在SP2中默认是不允许安装这样的程序的,解决方法为开始-控制面板-系统-硬件.其中在驱动程序项里有有个“驱动程序签名”的选项,点开后.选第一

定制windows环境下cmd替代软件ConEmu

定制windows环境下cmd替代软件ConEmu 公认的是Windows环境下命令行界面太难用. 不管是cmd还是powershell都不顺手!!窗口宽度不能全屏,字体太难看还不能调整,窗口背景不能更换,永远的黑白配,最痛苦的是复制和粘贴.都不知道MS是怎么想的?搞个这么个反人类的东西出来,还万年不变,从Windows诞生到Windows7不论是桌面版还是服务器版都一样,到了windows8/windows10换成powershell一样的鸡肋. 在百度搜了一下,找到cmd的替代软件conem

时序图与状态图(Rose) - Windows XP经典软件系列

最近开始了自己高级数据结构之旅,在这次旅行中,我将持续把一些高级的数据结构从理论到编码都过一遍,同时通过博客形式分享出来,希望大家指出不足之处! 二叉排序树是一种动态排序的数据结构,支持插入.删除.查找等操作,且平均时间复杂度为O(log(N)),但是普通二叉排序树不能保证树退化为一颗分支的情况,此时最坏情况下的时间复杂度为O(N).此时,平衡二叉树的产生了.平衡二叉树是一种动态调整平衡的数据结构,但理想的平衡二叉树很难,于是人们使用AVL.红黑树.Treap.伸展树等来替代平衡二叉树,这些数据

类图(Rose) - Windows XP经典软件系列

最近开始了自己高级数据结构之旅,在这次旅行中,我将持续把一些高级的数据结构从理论到编码都过一遍,同时通过博客形式分享出来,希望大家指出不足之处! 二叉排序树是一种动态排序的数据结构,支持插入.删除.查找等操作,且平均时间复杂度为O(log(N)),但是普通二叉排序树不能保证树退化为一颗分支的情况,此时最坏情况下的时间复杂度为O(N).此时,平衡二叉树的产生了.平衡二叉树是一种动态调整平衡的数据结构,但理想的平衡二叉树很难,于是人们使用AVL.红黑树.Treap.伸展树等来替代平衡二叉树,这些数据