leetcode有时候会要求一些奇怪(陌生)的数据形式,刷题因为数据形式卡住了真的很不好...

合并区间里定义了一个Interval的结构数组

struct Interval {
    int start;
    int end;
    Interval() : start(), end() {}
    Interval(int s, int e) : start(s), end(e) {}
};

又根据结构数组创建了vector<Interval> intervals。我就在想,怎么初始化这个intervals。

vector<Interval> intervals;
Interval int1(,); intervals.push_back(int1);
Interval int2(,); intervals.push_back(int2);

其实就是利用结构数组里的定义来,这样初始化真的很方便呐,也不用去特意申请空间。

解题思路:

先根据start排序,再一一合并

#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <vector>
using namespace std;

typedef struct Interval Int;
struct Interval {
    int start;
    int end;
    Interval() : start(), end() {}
    Interval(int s, int e) : start(s), end(e) {}
};
class Solution {
public:
    vector<Interval> merge(vector<Interval>& intervals) {
        int n = intervals.size();
        ) return intervals;
        int j;
        Interval temp;
        Interval temp0;
        ;
        ;i<n;i++){
            temp = intervals[i];
             && temp.start<intervals[j-].start;j--){
                intervals[j].start = intervals[j-].start;
                intervals[j].end = intervals[j-].end;
            }
            intervals[j].start = temp.start;
            intervals[j].end = temp.end;
        }
        vector<Interval> outcome;
        outcome.push_back(intervals[]);
        ;i<n;i++){
            if(intervals[i].start <= outcome.back().end){
                outcome.back().end = outcome.back().end > intervals[i].end ? outcome.back().end:intervals[i].end;
            }
            else{
                outcome.push_back(intervals[i]);
            }
        }
        return outcome;
    }
};

int main(){
    vector<Interval> intervals;
    Interval int1(,); intervals.push_back(int1);
    Interval int2(,); intervals.push_back(int2);
//    Interval int3(8,10); intervals.push_back(int3);
//    Interval int4(15,18); intervals.push_back(int4);

    Solution S;
    vector<Interval> outCome = S.merge(intervals);
    ;i<outCome.size();i++){
        int1 = outCome[i];
        printf("%d %d\n", int1.start, int1.end);
    }
    ;

}

结构数组新发现之直接初始化《leetcode-合并区间》的更多相关文章

  1. leetcode合并区间

    合并区间     给出一个区间的集合,请合并所有重叠的区间. 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: ...

  2. leetcode 合并区间

    使用最简单的排序方法: /** * Definition for an interval. * public class Interval { * int start; * int end; * In ...

  3. 【LeetCode】数组--合并区间(56)

    写在前面   老粉丝可能知道现阶段的LeetCode刷题将按照某一个特定的专题进行,之前的[贪心算法]已经结束,虽然只有三个题却包含了简单,中等,困难这三个维度,今天介绍的是第二个专题[数组] 数组( ...

  4. [Go] 复合类型(数组、切片、字典、结构体)变量的 初始化 及 注意事项

    Go变量 初始化 对 复合类型(数组.切片.字典.结构体)变量的初始化是,有一些语法限制: 1.初始化表达式必须包含类型标签: 2.左花括号必须在类型尾部,不能另起一行: 3.多个成员初始值以逗号分隔 ...

  5. [LeetCode] Merge Intervals 合并区间

    Given a collection of intervals, merge all overlapping intervals. For example, Given [1,3],[2,6],[8, ...

  6. LeetCode(56):合并区间

    Medium! 题目描述: 给出一个区间的集合,请合并所有重叠的区间. 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18] ...

  7. [C语言]贪吃蛇_结构数组实现

    一.设计思路 蛇身本质上就是个结构数组,数组里存储了坐标x.y的值,再通过一个循环把它打印出来,蛇的移动则是不断地刷新重新打印.所以撞墙.咬到自己只是数组x.y值的简单比较. 二.用上的知识点 结构数 ...

  8. MATLAB中的结构数组

    MATLAB中的结构数组 结构数组: 结构是包含一组记录的数据类型,而记录则是存储在相应的字段中.结构的字段可以是任意一种MATLAB数据类型的变量或者对象.结构类型的变量也可以是一维的.二维的或多维 ...

  9. C 语言字符数组的定义与初始化

    1.字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素.char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'} ...

随机推荐

  1. Hadoop记录-HDFS balancer配置

    HDFS balancer配置(可通过CM配置)dfs.datanode.balance.max.concurrent.moves 并行移动的block数量,默认5 dfs.datanode.bala ...

  2. jQuery使用(六):DOM操作之元素包裹、克隆DOM与data的综合应用

    包裹 wrap() wrapInner() wrapAll() unwrap() clone() 数据缓存机制 data 文档处理(包裹) 1.1.wrap()--将所匹配的元素用其他元素结构化标签包 ...

  3. 前端面试题整理—ajax篇

    1.什么是Ajax和JSON,它们的优缺点 Ajax是全称是asynchronous JavaScript andXML,即异步JavaScript和xml,用于在Web页面中实现异步数据交互,实现页 ...

  4. 017、RUN、CMD、ENTRYPOINT (2019-01-08 周二)

    参考https://www.cnblogs.com/CloudMan6/p/6875834.html   RUN CMD ENTRYPOINT 这三个Dockerfile指令看上去很类似,很容易混淆. ...

  5. 产线nginx路径跳转问题

    问题描述 应用在客户产线环境部署时,要求只需要输入域名就可以直接访问到应用,而不用输入完整的应用访问路径. 项目架构 前端使用nginx作为反向代理和负载均衡,后端部署多个tomcat实例. Web应 ...

  6. IDApython教程(四)

    前三部分已经验证了用IDAPython能够让工作变的更简单,这一部分让我们看看逆向工程师如何使用IDAPython的颜色和强大的脚本特性. 分析者经常需要面对越来越复杂的代码,而且有时候无法轻易看出动 ...

  7. Linux 下磁盘挂载

    Linux 磁盘挂载 新硬盘挂载: fdisk /dev/sdb p # 打印分区 d # 删除分区 n # 创建分区,(一块硬盘最多4个主分区,扩展占一个主分区位置.p主分区 e扩展) w # 保存 ...

  8. Swiper.js使用教程

    官网地址:(http://www.swiper.com.cn/). 一.Swiper.js简介: Swiper(前称Swiper master) 是一款免费以及轻量级的移动设备触控滑块的js框架,使用 ...

  9. Unsupervised Domain Adaptation Via Domain Adversarial Training For Speaker Recognition

    年域适应挑战(DAC)数据集的实验表明,所提出的方法不仅有效解决了数据集不匹配问题,而且还优于上述无监督域自适应方法.        

  10. netty的解码器和粘包拆包

    Tcp是一个流的协议,一个完整的包可能会被Tcp拆成多个包进行发送,也可能把一个小的包封装成一个大的数据包发送,这就是所谓的粘包和拆包问题 粘包.拆包出现的原因: 在流传输中出现,UDP不会出现粘包, ...