结构数组新发现之直接初始化《leetcode-合并区间》
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-合并区间》的更多相关文章
- leetcode合并区间
合并区间 给出一个区间的集合,请合并所有重叠的区间. 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: ...
- leetcode 合并区间
使用最简单的排序方法: /** * Definition for an interval. * public class Interval { * int start; * int end; * In ...
- 【LeetCode】数组--合并区间(56)
写在前面 老粉丝可能知道现阶段的LeetCode刷题将按照某一个特定的专题进行,之前的[贪心算法]已经结束,虽然只有三个题却包含了简单,中等,困难这三个维度,今天介绍的是第二个专题[数组] 数组( ...
- [Go] 复合类型(数组、切片、字典、结构体)变量的 初始化 及 注意事项
Go变量 初始化 对 复合类型(数组.切片.字典.结构体)变量的初始化是,有一些语法限制: 1.初始化表达式必须包含类型标签: 2.左花括号必须在类型尾部,不能另起一行: 3.多个成员初始值以逗号分隔 ...
- [LeetCode] Merge Intervals 合并区间
Given a collection of intervals, merge all overlapping intervals. For example, Given [1,3],[2,6],[8, ...
- LeetCode(56):合并区间
Medium! 题目描述: 给出一个区间的集合,请合并所有重叠的区间. 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18] ...
- [C语言]贪吃蛇_结构数组实现
一.设计思路 蛇身本质上就是个结构数组,数组里存储了坐标x.y的值,再通过一个循环把它打印出来,蛇的移动则是不断地刷新重新打印.所以撞墙.咬到自己只是数组x.y值的简单比较. 二.用上的知识点 结构数 ...
- MATLAB中的结构数组
MATLAB中的结构数组 结构数组: 结构是包含一组记录的数据类型,而记录则是存储在相应的字段中.结构的字段可以是任意一种MATLAB数据类型的变量或者对象.结构类型的变量也可以是一维的.二维的或多维 ...
- C 语言字符数组的定义与初始化
1.字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素.char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'} ...
随机推荐
- FastDFS + Nginx代理方式访问
FastDFS + Nginx代理方式访问 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.在storage上安装nginx 1>.下载nginx软件(http://ngi ...
- my live health
s 盐城的社保咨询服务热线电话:12333 射阳县医疗保险基金中心地址:射阳县合德镇解放东路24号 电话:0515-82322433 社保办事指南:http://yancheng.bendibao.c ...
- TRAFFIC ANALYSIS EXERCISE - Ransomer
catalogue . SCENARIO . QUESTIONS . Analysis:10.3.14.134 . Analysis:10.3.14.131 1. SCENARIO The pcap ...
- JDBC-HikariCP
一.依赖 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&quo ...
- spring整合curator实现分布式锁
为什么要有分布式锁? 比如说,我们要下单,分为两个操作,下单成功(订单服务),扣减库存(商品服务).如果没有锁的话,同时两个请求进来.先检查有没有库存,一看都有,然后下订单,减库存.这时候肯定会出现错 ...
- 查询sql数据库中表占用的空间大小
最近在给一家客户做系统维护时,需要查看数据库表的大小,相关的sql如下: 先在左上角下拉框中选对要查的数据库再执行以下语句 1. exec sp_spaceused '表名' --( ...
- Golang基础语法1
打开cmd命令窗口 保存,编译,执行: 1.保存到一个×××.go的文件(我这里保存到 E:\GoTest\hello.go 下) 2.编译,在命令提示符中执行命令: go build -o E ...
- Django之组件--forms
forms组件(详细) 功能: 1 校验字段功能 2 渲染标签功能 3 渲染错误信息功能 4 组件的参数配置 5 局部钩子 6 全局钩子 类中使用: 1.定义 from django import f ...
- 【leetcode-51,52】 N皇后,N皇后 II
N皇后(hard) n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 上图为 8 皇后问题的一种解法. 给定一个整数 n,返回所有不同的 n 皇后问题 ...
- 【leetcode-75】 颜色分类
(1过,解法不好,看參考荷兰国旗问题解法) 给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中,我们使用整数 0 ...