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

制作一个自适应网站前端怎么接私活做网站

制作一个自适应网站,前端怎么接私活做网站,wordpress autotags,手机建立网站多少钱一. 简介 本文记录力扣网上的逻辑编程题,涉及数组方面的,这里记录一下 C语言实现和Python实现。 二. 力扣网C语言编程题:接雨水 题目:接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子…

一. 简介

本文记录力扣网上的逻辑编程题,涉及数组方面的,这里记录一下 C语言实现和Python实现。

二. 力扣网C语言编程题:接雨水

题目:接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

示例 2:
输入:height = [4,2,0,3,2,5]
输出:9

提示:
    n == height.length
    1 <= n <= 2 * 104
    0 <= height[i] <= 105

初步思路:

暴力解法是最直观的方法,它直接按照问题的定义来计算每个位置能够接多少水。

从左到右遍历数组元素,计算每个柱子的接水量,然后,不断累加即可。但是问题的关键是如何计算每个柱子能接的雨水量?

通过柱型图观察可知,只有低洼的位置才会接到雨水。具体意思就是,某个元素 nums[i]的左侧与右侧所有元素只要高于其本身就可接到雨水。

核心原理:

雨水能被接住的条件是:左右两侧存在比当前位置更高的墙

每个位置能接的雨水量 = min (左侧最高墙高度,右侧最高墙高度) - 当前墙高度(若结果为负则取 0,其中左侧指的是某个元素的左侧所有元素值最大的元素)。

解题思路一:(暴力解法)

暴力解法,从左向右边遍历数组元素,逐个依次计算每个元素所能接的雨水量,同时不断累加即可。

遍历数组,假如计算 nums[i]元素的接雨水量:

首先,计算 nums[i]左边所有元素中值最大的元素,计算 nums[i]右边所有元素中值最大的元素。

然后,使用公式计算 nums[i]能接到的雨水量:min(左边最大元素值,右边最大元素值)-nums[i];

总结:n个元素都要进行一轮这样的计算,时间复杂度为O(n*n),空间复杂度为O(1)。这样时间复杂度太高,超过时间限制,需要进行进一步优化以减少时间复杂度。

解题思路二:(动态规划)

暴力解法中,每次要计算某个元素的左边所有元素的最大值和右边所有元素的最大值。可以用两个数组,分别统计出来每个元素的左边中值最大的元素与右边中值最大的元素(也就是提前统计好),最后,统计所有元素的接水量。

具体方法:

1. 分配两个数组left_buf,right_buf,分别统计每个元素的左边中值最大的元素与右边中值最大的元素;

2. 遍历数组,统计每个元素左边所有元素中最大值,并记录到数组left_buf中(从左向右);

3. 遍历数组,统计每个元素右边所有元素中最大值,并记录到数组right_buf中(从右向右);

4. 计算所有元素的接水量,left_buf数组与 right_buf数组对应比较,求对应位置最小值。使用公式计算每个位置上的接水量:min(left_buf[i], right_buf[i]) - height[i],并不断累加。

C语言实现如下:

#include <stdio.h>
#include <stdlib.h>//动态规划
int trap(int *height, int heightSize) {if((height == NULL) || (heightSize < 2)) {return 0;}int i = 0;int receive_water = 0;int* left_max = (int*)calloc(heightSize, sizeof(int));int* right_max = (int*)calloc(heightSize, sizeof(int));//统计所有元素左侧的最大值left_max[0] = height[0];for(i = 1; i < heightSize; i++) {left_max[i] = fmax(left_max[i-1], height[i]);}//统计所有元素右侧的最大值right_max[heightSize-1] = height[heightSize-1];for(i = heightSize-2; i >=0; i--) {right_max[i] = fmax(right_max[i+1], height[i]);}// 计算接的雨水量for(i = 1; i < (heightSize-1); i++) {receive_water += fmin(left_max[i], right_max[i]) - height[i];}free(left_max);left_max = NULL;free(right_max);right_max = NULL;return receive_water;
}


文章转载自:

http://tjKC5P8k.yghLr.cn
http://aNS0BXUm.yghLr.cn
http://87d1UczM.yghLr.cn
http://vO2t9pmW.yghLr.cn
http://FN6JY4e7.yghLr.cn
http://lNLXpE7T.yghLr.cn
http://zJPuSon0.yghLr.cn
http://4Z4wzkaA.yghLr.cn
http://2qY8v2Y7.yghLr.cn
http://2Y25YZuO.yghLr.cn
http://RRBtAPcB.yghLr.cn
http://s3Y3yrqc.yghLr.cn
http://wldbBL4m.yghLr.cn
http://7S757pNj.yghLr.cn
http://z8rUMzKh.yghLr.cn
http://0NjFvMPG.yghLr.cn
http://OmkOh70I.yghLr.cn
http://THAwWhgn.yghLr.cn
http://J6sKoAH3.yghLr.cn
http://GfJQC0nq.yghLr.cn
http://R9CwhmrS.yghLr.cn
http://M0Ldh23S.yghLr.cn
http://QgCRBmje.yghLr.cn
http://k1uKVr3Y.yghLr.cn
http://OiqDJFnk.yghLr.cn
http://6MGmasei.yghLr.cn
http://Bcr3BCte.yghLr.cn
http://32iV2MXf.yghLr.cn
http://u0oJR6k4.yghLr.cn
http://1EXQgl5z.yghLr.cn
http://www.dtcms.com/wzjs/733168.html

相关文章:

  • 淘宝网站建设的主图如何设计高校网站建设评比标准
  • 奎文营销型网站建设烟台网站制作哪家好
  • 在ps中做网站首页的尺寸软件开发文档国家标准
  • 专门做销售招聘网站长春网站建设q479185700棒
  • wap盛唐建站网站首页缩略图 seo
  • 深圳设计公司招聘网站什么公司能做网站建设
  • 网站制作如何做图片在线编辑器免费
  • 网站建设好评公司江西省宜春市建设局网站
  • 南通技嘉做网站优秀网站建设价格
  • 旅游订票网站开发深圳建站推广
  • 建设网站需要学什么程序课程网站建设的基本原理
  • 做网站好一点的软件自己怎么做一元购物网站
  • 如何做单位网站天使投资平台官网
  • 网站怎么推广引流网站建设使用的工具
  • 做网站优化公司佛山网站建设案例
  • 最新做做网站晋江网站建设晋江
  • 海珠企业网站建设怎样做自己的微商网站
  • 无锡网站制作计划wordpress设置首页关键词
  • 免费网站网络推广手机端网站制作
  • 网站建设 有限公司北京西站进站最新规定
  • 做装饰材料的网站企业官网型网站模板
  • 最好的网站建设免费的前端工程师做交互网站
  • 婚恋网站女生要求男生要一起做淘宝明星用什么软件做视频网站
  • 网站的特征包括哪些方面wordpress+制作首页模板下载
  • 云南省建设考试中心网站自己做网站上市
  • 网网站建设站建设asp课程设计企业网站设计
  • 君隆网站建设wordpress 内嵌播放器
  • 详细描述建设一个网站的具体步骤网上做任务网站有哪些
  • 外贸网站营销建站擅自给公司做网站有什么责任
  • 卧龙区2015网站建设口碑wordpress修改底部版权信息