当前位置: 首页 > wzjs >正文

企业电子商务网站开发实验报告如何选择网站开发

企业电子商务网站开发实验报告,如何选择网站开发,青岛建设集团苏州招聘信息网站,天津网站优化排名目录 动态规划入门 二进制运算 链表相关 动态规划入门 题目1:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算 不同的结果)。OJ地址 简单图示如下。 题目分析&#…

目录

动态规划入门

二进制运算 

链表相关 


动态规划入门

        题目1:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算 不同的结果)。OJ地址

        简单图示如下。 

        题目分析:因为青蛙每次所跳的台阶无非就是1个台阶或者2个台阶,所以当青蛙要跳上第n个台阶时,无非也就是从第n-1个台阶或者是从第n-2个台阶开始跳。基于此,如果从第n-2个台阶跳到第n个台阶,直接跳两个台阶跳到第n个台阶。如果从第n-1个台阶开始跳,直接跳1个台阶到第n个台阶。

        所以我们就可以认为,跳到第n个台阶的跳法=跳到第n-1个台阶的跳法+跳到第n-2个台阶的跳法。

        上述思想其实就是一个简单的动态规划思想,动态规划英文名称 Dynamic Programming,简称 DP。解决类似的 DP 问题无非就是3个步骤。

  1. 定义状态。
  2. 列状态转移方程。
  3. 设置初始值。

        编码如下。

class Solution {
public:int jumpFloor(int number) {int* dp=new int[number+1];//1.设置状态,让dp这个数组的每一个元素表示跳到第几个台阶的总的方法数//2.列状态转移方程。dp[n]=dp[n-1]+dp[n-2]//3.设置初始值dp[1]=1;dp[2]=2;for(int i=3;i<=number;i++){dp[i]=dp[i-1]+dp[i-2];}return dp[number];delete []dp;}
};

        咦,dp[i]=dp[i-1]+dp[i-2] ,怎么有点像斐波那契数列呢?没错,动态规划其实本质也就是一个斐波那契数列,因为动态规划其实类似于迭代思想。

        我们使用迭代思想解决这个问题。

class Solution {
public:int jumpFloor(int number) {int first=1;int second=2;int third=0;if(number==1) return 1;else if(number==2)return 2;else if(number>2){while(number>2){third=first+second;first=second;second=third;number--;}return third;}else {return 0;}}
};class Solution {
public:int jumpFloor(int number) {int first=1;int second=2;int third=0;if(number==1) return 1;else if(number==2)return 2;else if(number>2){while(number>2){third=first+second;first=second;second=third;number--;}return third;}else {return 0;}}
};

        其实这种传统的迭代方式和动态规划的方式的区别就是,动态规划会用一个数组去存储到每一个台阶的跳法,而传统的迭代方式不会存储每一个台阶的跳法。

        题目2: 我们可以用 2*1 的小矩形横着或者竖着去覆盖更大的矩形。请问用 n 个 2*1 的小矩形无重叠地覆盖一个 2*n 的大矩形,从同一个方向看总共有多少种不同的方法?

        题目解析: 对于一个2*n的大矩形而言,最后一个2*1小矩形无非就是横着放置或者竖着放置。

        如果其最后一个2*1的小矩形是竖着放置的,那么放置最后一个矩形之前的上一个矩形的放置我们是不能确定其放置位置的;但是如果最后一个2*1的小矩形是横着放置的,那么放置最后一个小矩形之前的前一个矩形一定也是横着放置的,注意是一定。

        所以这种情况系,用2*1的小矩形去填充一个2*n的大矩形,其实就是填充2*(n-1)+2*(n-2)的大矩形的所有方法的总和。

        编码如下。

class Solution {
public:int rectCover(int number) {//描述状态int *dp=new int[number+1];dp[1]=1;dp[2]=2;for(int i=3;i<=number;i++){dp[i]=dp[i-1]+dp[i-2];}return dp[number];}
};

二进制运算 

        题目3:输入一个整数 n ,输出该数32位二进制表示中1的个数。其中负数用补码表示。OJ地址 

        题目解析:这个题目比较简单,直接使用 num&num-1 即可,用一个计数器计算,计算按位与多少次的结果为0就是1的个数。无脑记住这个套路即可。 

        编码如下。

class Solution {
public:int NumberOf1(int n) {int count=0;while(n!=0){n&=n-1;count++;}return count;}
};

链表相关 

        题目4:链表中倒数最后k个结点_牛客题霸_牛客网 

        题目解析:可以使用一个前后指针,让第一个指针先走,走到第k个节点的位置,然后再让第二个指针走,当第一个指针走到最后一个节点时,第二个指针就走到了倒数第k个节点。 

        编码如下。

/*** struct ListNode {*	int val;*	struct ListNode *next;*	ListNode(int x) : val(x), next(nullptr) {}* };*/
class Solution {
public:ListNode* FindKthToTail(ListNode* pHead, int k) {ListNode* _prev=pHead;ListNode* _next=pHead;//表示_prev指针的位置int count=1;//找到第k个节点的位置while(count<k&&_prev!=nullptr){_prev=_prev->next;count++;}//只关心找到了第k个节点的位置,且_prev不为空if(count==k&&_prev!=nullptr){while(_prev->next){_prev=_prev->next;_next=_next->next;}return _next;}return nullptr;}
};

         以上便是本期的所有内容^_^


文章转载自:

http://x3UBFpiA.Lgwpm.cn
http://vYWtJjCF.Lgwpm.cn
http://kFGAsptP.Lgwpm.cn
http://RGtavgJO.Lgwpm.cn
http://y0vq7bwF.Lgwpm.cn
http://yqZAYEfD.Lgwpm.cn
http://ILKC0rC0.Lgwpm.cn
http://C8ERc3ht.Lgwpm.cn
http://zm7Q3JWH.Lgwpm.cn
http://FVbfx9pP.Lgwpm.cn
http://D8zJGe42.Lgwpm.cn
http://Z3961FAz.Lgwpm.cn
http://BrqUBHvl.Lgwpm.cn
http://9OtC7kI7.Lgwpm.cn
http://w62eGGcS.Lgwpm.cn
http://oudMdHsb.Lgwpm.cn
http://HeDZ3iu2.Lgwpm.cn
http://hBuH7O5o.Lgwpm.cn
http://qfLrHCSF.Lgwpm.cn
http://6jd4lkC3.Lgwpm.cn
http://EI3jnFpe.Lgwpm.cn
http://ELbK7dJF.Lgwpm.cn
http://cF8EQwF1.Lgwpm.cn
http://7IXb68Xk.Lgwpm.cn
http://Me4r4WxR.Lgwpm.cn
http://McusbAqe.Lgwpm.cn
http://VRu8uXuk.Lgwpm.cn
http://MRIdN5bL.Lgwpm.cn
http://oUmAcmDz.Lgwpm.cn
http://ETPZmbra.Lgwpm.cn
http://www.dtcms.com/wzjs/697140.html

相关文章:

  • 做编程题的网站做国外的众筹网站
  • 连云港建设网站公司如何自己编写一个程序
  • 海口模板建站哪家好网站搭建框架是什么
  • 网站建设说明书怎么写网站建设从入门到精通
  • 怎样在手机上面建设网站国外购物网站大全
  • 在线电子印章生成器潍坊网站seo
  • 怎么自己做微网站硬件开发项目流程
  • 成都网站开发建设护肤品网站制作 网新科技
  • 做网站排名大概要多少钱ipv6网站制作
  • 装修之家网站广州一流高校建设网站
  • 公司装修设计工程国外seo查询
  • 通辽做家教的网站衡水企业网站
  • 科普网站设计个人网站备案方法
  • 电商平台制作公司百度推广优化是什么意思
  • 站长之家域名查询排行做外语网站的公司
  • 凉山州城乡和住房建设厅网站成都网站建设哪家
  • 网站建设服务器的选择方式包括哪些平利县城乡建设局网站
  • 长春网站推广优化服务公司名字
  • 上海建设银行网站百度小程序异常怎么办
  • 电商类网站开发项目书旅游网站建设与网页设计意义
  • 北京建设银行对公网站ue4培训
  • 网站开发技术问题wordpress安装ssl
  • 坪山建设网站建站石家庄做网站比较好的公司有哪些
  • lol做框网站培训好吗网站建设
  • 网站建设招标 报告建站推广
  • 网站建设平台 汉龙策划公司收费
  • 四川门户网站建设管理规定余姚网站建设公司
  • 营销型网站建设宣传语我国档案网站建设比较分析
  • 与企业网站做接口大连 网站开发
  • 青岛中英网站建设做卖车网站需要什么手续费