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

怎么做网站推全国建设信息网

怎么做网站推,全国建设信息网,印章生成器,短剧小程序开发费用1.买卖股票的最佳时机 https://blog.csdn.net/qq_41277628/article/details/113322136 输入:[7,1,5,3,6,4] 输出:5 解释:在第 2 天(股票价格 1)的时候买入,在第 5 天(股票价格 6&#xff…

1.买卖股票的最佳时机

https://blog.csdn.net/qq_41277628/article/details/113322136

输入:[7,1,5,3,6,4]

输出:5

解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。

注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。

1 #include <stdio.h>2 3 #define N 64 5 int main()6 {7     int min,temp;8     int a[] = {7,1,5,3,6,4};9     min = a[0];
10     temp = 0;
11     for(int i = 0;i<N;i++)
12     {
13         if(a[i] < min)
14         {
15             min = a[i];
16         }
17         else if((a[i]-min)>temp)
18         {
19             temp = a[i] - min;
20         }
21     }
22     printf("最高收益为%d元\n",temp);
23 
24     return 0;
25 }

2.盛最多水的容器

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。

找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

返回容器可以储存的最大水量。

https://violentayang.blog.csdn.net/article/details/123061036

1 #include <stdio.h>2 #include <string.h>3 4 #define N 95 6 int main() 7 {8     int a[N] = {1,8,6,2,5,4,8,3,7};9     int i = 0,j = N-1,sun = 0,top = 0;
10     while(i<j)
11     {
12         if(a[i]<a[j])
13         {
14             sun = (j-i)*a[i]; 
15             if(sun>top)
16             {
17                 top = sun;
18             }
19             i++;
20         }
21         else
22         {
23             sun = (j-i)*a[j]; 
24             if(sun>top)
25             {
26                 top = sun;
27             }
28             j--;
29         }
30     }
31     printf("可以盛%d吨的水\n",top);
32     
33     return 0;
34 }

c++实现:

1 #include<iostream>2 #include<vector>3 using namespace std;4 5 class node{6 public:7     int maxsrea(vector<int>& height){8         int ans = 0;9         int l = 0,r = height.size()-1;
10         while(l<r){
11             ans = max(ans,min(height[l],height[r]) * (r-l));
12             if(height[l] < height[r]) l++;
13             else r--;
14         }
15         return ans;
16     }
17 };
18 
19 int main()
20 {
21     node n;
22     vector<int> height = {1,8,6,2,5,4,8,3,7};
23     cout << n.maxsrea(height) << endl;
24     
25     return 0;
26 }

3.不同路径

一个机器人位于一个 m x n 网格的左上角 。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角。

问总共有多少条不同的路径?

https://blog.csdn.net/C_chengxuyuan/article/details/119980859

1 #include <stdio.h>2 #include <string.h>3 4 int main() 5 {6    int x,y;7    int a[100][100];8    printf("输入网格的长和宽\n");9    scanf("%d%d",&x,&y);
10    
11    for(int i = 0;i<x;i++)
12    {
13        a[i][0] = 1;
14    }
15    
16    for(int j = 0;j<y;j++)
17    {
18        a[0][j] = 1;
19    }
20    
21    for(int i = 1;i<x;i++)
22    {
23        for(int j  = 1;j<y;j++)
24        {
25            a[i][j] = a[i-1][j] + a[i][j-1];
26        }
27    }
28    
29    printf("长和宽为%d,%d的网格,总共有%d条不同的路径\n",x,y,a[x-1][y-1]);
30     
31     return 0;
32 }

c++实现:

1 #include <iostream>2 #include <vector>3 using namespace std;4 5 class node{6 public:7    int uniquePath(int m,int n){8       vector<vector<int>> f(m,vector<int>(n,1));9       for(int i = 1;i<m;i++){
10          for(int j = 1;j<n;j++){
11             f[i][j] = f[i-1][j] + f[i][j-1];
12          }
13       }
14       return f[m-1][n-1];
15    }
16 };
17 
18 int main()
19 {
20    int y = 3,x = 7;
21    node n;
22    cout << "长为7,宽为3的网格从左上角到右下角的路径有:" << n.uniquePath(x,y);
23    
24    return 0;
25 }

 不同路径中间有障碍物(力扣第63题)

1 #include <iostream>2 #include <vector>3 using namespace std;4 5 class node{6 public:7    int unique(vector<vector<int>>& o){8       int m = o.size(),n = o[0].size();9       vector<vector<int>> f(m,vector<int>(n));
10          for(int i = 0;i<m;i++){
11             for(int j = 0;j<n;j++){
12                if(o[i][j] == 1) continue;
13                if(!i&&!j) f[i][j] = 1;
14                else{
15                   if(i) f[i][j] += f[i-1][j];
16                   if(j) f[i][j] += f[i][j-1];
17                }
18             }
19          }
20          return f[m-1][n-1];
21       }
22 };
23 
24 int main()
25 {
26    node n;
27    vector<vector<int>> cur;
28    cur.push_back({0,0,0});
29    cur.push_back({0,1,0});
30    cur.push_back({0,0,0});
31    cout << n.unique(cur) << endl;
32     
33    return 0;
34 }

4.最小路径和

一个机器人位于一个 m x n 网格的左上角 ,m x n的网格中分布着不同的数字

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角,找出路径的最小和。

1 #include <stdio.h>2 #include <string.h>3 4 #define N 35 #define M 36 7 int main() 8 {9    int a[N][M] = {{1,3,1},{1,5,1},{4,2,1}};
10    int b[100][100];
11    
12    b[0][0] = a[0][0];
13    
14    for(int i = 1;i<N;i++)
15    {
16        b[i][0] = b[i-1][0] + a[i][0];
17    }
18    
19    for(int j = 1;j<M;j++)
20    {
21        b[0][j] = b[0][j-1] + a[0][j];
22    }
23    
24   for(int i = 1;i<N;i++)
25   {
26       for(int j  = 1;j<N;j++)
27       {
28           b[i][j] = (b[i-1][j] > b[i][j-1] ? b[i][j-1]:b[i-1][j])+a[i][j];
29       }
30   }
31    
32    printf("长和宽为%d,%d的网格,最小路径和为%d\n",N,M,b[N-1][M-1]);
33     
34     return 0;
35 }

5.最长上升子序列

一个数的序列bi,当b1 < b2 < ... < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1,a2,...,aN),我们可以得到一些上升的子序列(ai1,ai2,...,aiK),

这里1≤i1 < i2 < ... < iK≤N。比如,对于序列(1,7,3,5,9,4,8),有它的一些上升子序列,如(1,7),(3,4,8)等等。这些子序列中最长的长度是4,比如子序列(1,3,5,8)。

你的任务,就是对于给定的序列,求出最长上升子序列的长度。

1 #include <stdio.h>2 #include <string.h>3 4 #define N 75 6 int main() 7 {8    int max = 0;9    int a[N],dp[N];
10    printf("输入一个数组\n");
11    for(int i = 1;i<=N;i++)
12    {
13        scanf("%d",&a[i]);
14    }
15    
16    for(int i = 0;i<N;i++)
17    {
18        dp[i] = 1;
19    }
20    
21    for(int i = 1;i<=N;i++)
22    {
23        for(int j = i-1;j>0;j--)
24        {
25            if(a[i]>a[j]&&dp[j]>=dp[i])
26            {
27                dp[i] = dp[j]+1;
28                if(dp[i]>max)
29                {
30                    max = dp[i];
31                }
32            }
33        }
34    }
35    printf("最长上升子序列的长度为%d\n",max);
36     
37     return 0;
38 }

6.最接近的三数之和(力扣16题)

1 #include <iostream>2 #include <vector>3 #include<algorithm>4 using namespace std;5 6 class node{7 public:8     int threesun(vector<int>& nums,int target){9         int ans = nums[0] + nums[1] + nums[2];
10         sort(nums.begin(),nums.end());
11         for(int i = 0;i<nums.size();i++){
12             int l = i + 1,r = nums.size() - 1;
13             while(l<r){
14                 int sum = nums[i] + nums[l] + nums[r];
15                 if(sum == target) return sum;
16                 if(abs(sum-target) < abs(ans-target)) ans = sum;
17                 if(sum < target) l++;
18                 else r--;
19             }
20         }
21         return ans;
22     }
23 };
24 
25 int main() 
26 {
27     node n;
28     vector<int> cur = {-1,2,1,-4};
29     cout << n.threesun(cur,1) << endl;
30     
31     return 0;
32 }

http://www.yayakq.cn/news/566227/

相关文章:

  • 嗨学网官网昆明seo和网络推广
  • 交互式网站开发技术有哪些哈尔滨建设工程管理工资多少
  • 邢台做移动网站公司电话号码在线免费网站模板
  • 长沙百度网站推广wordpress 增加 专题
  • 怎样做动漫照片下载网站科技有限公司名称大全
  • 单本小说网站百度灰色关键词技术
  • 哪里有网站建设多少钱网页制作与设计属于什么专业
  • 网站空间商怎么做电商网站建设费用预算
  • 购物平台有哪些比较火seo网站推广怎样
  • 石家庄网站制作公司哪家好郑州网站开发hndlwx
  • 写出网站开发的基本流程南宁建站平台
  • 网站建站后维护需要做哪些商品热搜词排行榜
  • 好看的网站设计人性本私wordpress
  • 网站文章更新潍坊作风建设网站
  • 怎样优化手机网站免费建站平台
  • 企业网站平台建设咨询合同wordpress怎么做seo关键词
  • 网上商城网站系统网站资源做缓存
  • 品牌网站源码asp网站建设公司线下推广
  • 做外贸比较好的网站山东省工程建设造价信息网站
  • sap和国家网站做接口网站转小程序工具
  • 网站开发数据库速度解决方法建设厅投诉网站
  • 玉田县建设工程招标网站网站建设Z亿玛酷1流量订制
  • 网站建设和维护费怎么摊销游戏代理
  • 品牌网站建设 app建设建设标准 免费下载网站
  • 黄冈网站推广在线观看网站开发有前途
  • 芜湖做的好的招聘网站自己做小程序商城
  • 如何做好网站seo推广方案怎么写模板
  • 网站建设前台和后台设计拍摄宣传片制作公司
  • 单位网站的作用系统开发是什么
  • 建设安全备案登入那个网站建设网站读什么专业