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

营销型网站如何策划wordpress双语插件

营销型网站如何策划,wordpress双语插件,国外做电商网站,北京时代 网站建设228. 汇总区间 - 力扣(LeetCode) 给定一个 无重复元素 的 有序 整数数组 nums 。 区间 [a,b] 是从 a 到 b(包含)的所有整数的集合。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个…

228. 汇总区间 - 力扣(LeetCode)

给定一个  无重复元素 的 有序 整数数组 nums 。

区间 [a,b] 是从 a 到 b(包含)的所有整数的集合。

返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个区间但不属于 nums 的数字 x 。

列表中的每个区间范围 [a,b] 应该按如下格式输出:

  • "a->b" ,如果 a != b
  • "a" ,如果 a == b
示例 1:输入:nums = [0,1,2,4,5,7]
输出:["0->2","4->5","7"]
解释:区间范围是:
[0,2] --> "0->2"
[4,5] --> "4->5"
[7,7] --> "7"
示例 2:输入:nums = [0,2,3,4,6,8,9]
输出:["0","2->4","6","8->9"]
解释:区间范围是:
[0,0] --> "0"
[2,4] --> "2->4"
[6,6] --> "6"
[8,9] --> "8->9"提示:0 <= nums.length <= 20
-231 <= nums[i] <= 231 - 1
nums 中的所有值都 互不相同
nums 按升序排列

算法设计

在开始设计之前,我们必须明确一点,题目上说的是有序整数,传达了两个信息:

1. 输入数组中的元素是按从小到大顺序排列的,我们在分割区间时无需考虑大小混乱问题

2. 泛指了所有的整数,包括十进制表述下位数较大的数,和负数,这就需要我们合理的选择整形元素转化为字符串的方法

在C99标准中有一个函数叫做sprintf,原型sprintf(char* head, char* inputstr, int dval, char cval...)

所以 如果我们想表示-2048 -> 0 就可以写为

static int a= -2048;
static int b;
static char* pointer=(char *)malloc(sizeof(char)*25);
sprintf(pointer, "%d->%d", a, b);

此外,在做这道题之前,我们必须对堆段内存分配和二维数组(指针的指针)进行深入的理解。

首先,题目没有给我们返回数组,我们必须在函数中用malloc在堆段内开一片内存用来存放区间字符串,而区间字符串必须以二维结构存储。这要求我们做以下步骤:

1. 声明一个指针的指针

char** ret=NULL;

2. 对二级指针进行初始化(代表行),相当于先用malloc在堆开辟一块用于存字符串首地址的内存,把这片内存本身的首地址赋给在静态段/栈段的二维指针变量

*(ret)=malloc(20*sizeof(char *));

3. 对一级指针进行初始化,把字符串首地址给存首地址的指针变量。

(*(ret)+n)=(char*)malloc(25*sizeof(char))

4. 返回ret指向的所有内容

5. free掉所有字符串内存和存储首地址的指针内存(考试时可能不需要)

好的,那么接下来规划以下我们的算法

1. 定义一个慢指针slow,快指针fast,慢指针负责保持目前区间的下限,快指针负责寻找上线

2. 进入循环fast=0开始,直到fast遍历完表尾

3. 如果在表尾,则判断目前fast是否和slow重合(重合说明是单元素,而非区间),若重合,则将重合指向的元素装入对应字符串,若不重合,则将fast与slow指向的元素以->区间形式装入字符串

4. 如果非表尾,则重复3中的判断,但在末尾需要对slow移动(3 4分开写的原因是,如果表尾移动slow可能会访问越界)

5. 赋值大小,返回指针

char** summaryRanges(int* nums, int numsSize, int* returnSize) {int slow=0,fast;int rows=0;char** Ranges=malloc(20*sizeof(char*));for(fast=0; fast<numsSize; fast++){if(fast==numsSize-1){*(Ranges+rows)=(char*)malloc(sizeof(char)*25);if(fast==slow){sprintf(*(Ranges+rows), "%d", *(nums+slow));}else{sprintf(*(Ranges+rows), "%d->%d",*(nums+slow),*(nums+fast));}rows++;}else if(*(nums+fast)!=*(nums+fast+1)-1){*(Ranges+rows)=(char*)malloc(sizeof(char)*25);if(fast==slow){sprintf(*(Ranges+rows), "%d", *(nums+slow));}else{sprintf(*(Ranges+rows), "%d->%d",*(nums+slow),*(nums+fast));}rows++;slow=fast+1;}}*(returnSize)=rows;return Ranges;
}


文章转载自:

http://VZZUeAnX.wmdbn.cn
http://ipQDZ7EJ.wmdbn.cn
http://LtweZzau.wmdbn.cn
http://WZRcrkBX.wmdbn.cn
http://0hkdLU5t.wmdbn.cn
http://Lhoq4Rpk.wmdbn.cn
http://6W9NxV6B.wmdbn.cn
http://1IUx8lWj.wmdbn.cn
http://FfP5PLkz.wmdbn.cn
http://TESJkmAV.wmdbn.cn
http://H2GmlJ0q.wmdbn.cn
http://f4dFdRtc.wmdbn.cn
http://wcOLX0QK.wmdbn.cn
http://48SpqvPz.wmdbn.cn
http://Nui6wTAp.wmdbn.cn
http://765zdkuA.wmdbn.cn
http://uz2qG9Nk.wmdbn.cn
http://lRtQEBSn.wmdbn.cn
http://UnG0uVt8.wmdbn.cn
http://PfHbzrJs.wmdbn.cn
http://r6DQSSwQ.wmdbn.cn
http://a4IwKdPn.wmdbn.cn
http://CKInS1g6.wmdbn.cn
http://LDIVrggO.wmdbn.cn
http://Dmq9UaUj.wmdbn.cn
http://zNTlCVMg.wmdbn.cn
http://PfAitivv.wmdbn.cn
http://7rEw8AVs.wmdbn.cn
http://OjEEM4UR.wmdbn.cn
http://Qd5XhKeO.wmdbn.cn
http://www.dtcms.com/wzjs/719106.html

相关文章:

  • 外贸推广网站网站建设报价表下载
  • 太原网站公司湖南常德天气15天情况
  • 企业怎么建设网站做网站虚拟主机是什么意思
  • 做h5最好的网站dede手机网站教程
  • 章贡区网站建设建设网站视频素材
  • 做淘宝网站建站之星凡客
  • QQ空间可以建设网站吗安卓wap浏览器
  • 网站建设智能优化深圳龙岗好玩的地方
  • 小程序软件制作网站建筑网站设计方案
  • 提示网站有风险青岛建立网站电话
  • 网站开发前端后端无锡网站设计网站
  • 学校网站制作多少钱东莞大岭山天气预报
  • 免费设计网站素材网站建设平台ui确认书
  • 网站常见故障下载爱南宁乘车
  • 一般做公司网站需要哪几点外汇网站怎么做优化
  • 夫妻找做伙食饭工作哪个网站好南京seo排名优化
  • 做网站负责人风险怎么下载网站页面
  • 旅游网页设计模板图凡科windows优化大师免费
  • 搜狗网站排名软件php网站开发需要学什么软件
  • html网站制作模板各类设计型网站
  • 简述电子商务网站建设的基本要求网站建设人员分工
  • 网站推广的方式?网站建设沈阳凯鸿
  • 盘锦网站网站建设贵阳网站建设方案
  • 越秀区建设水务局网站社区网站建设工作职责
  • 如何优化基础建站上海微网站
  • 中国建行官网首页绍兴seo排名外包
  • 凡科网的网站建设怎么做手机网站漂浮怎么做
  • 做的烂的网站句容市网站seo优化排名
  • 弹性盒子做自适应网站ftp如何上传网站
  • 优惠券推广网站怎么做株洲网站设计外包首选