zoukankan      html  css  js  c++  java
  • LeetCode: Insert Interval

    C++

     1 /**
     2  * Definition for an interval.
     3  * struct Interval {
     4  *     int start;
     5  *     int end;
     6  *     Interval() : start(0), end(0) {}
     7  *     Interval(int s, int e) : start(s), end(e) {}
     8  * };
     9  */
    10 class Solution {
    11 public:
    12     vector<Interval> insert(vector<Interval> &intervals, Interval newInterval) {
    13         // Start typing your C/C++ solution below
    14         // DO NOT write int main() function
    15         vector<Interval> ret;
    16         ret.push_back(newInterval);
    17         for (int i = 0; i < intervals.size(); i++) {
    18             if (intervals[i].end < ret.back().start) ret.insert(ret.end()-1, intervals[i]);
    19             else if (intervals[i].start > ret.back().end) ret.push_back(intervals[i]);
    20             else {
    21                 ret.back().start = min(ret.back().start, intervals[i].start);
    22                 ret.back().end = max(ret.back().end, intervals[i].end);
    23             }
    24         }
    25         return ret;
    26     }
    27 };

     C#

     1 /**
     2  * Definition for an interval.
     3  * public class Interval {
     4  *     public int start;
     5  *     public int end;
     6  *     public Interval() { start = 0; end = 0; }
     7  *     public Interval(int s, int e) { start = s; end = e; }
     8  * }
     9  */
    10 public class Solution {
    11     public List<Interval> Insert(IList<Interval> intervals, Interval newInterval) {
    12         List<Interval> ans = new List<Interval>();
    13         ans.Add(newInterval);
    14         for (int i = 0; i < intervals.Count; i++) {
    15             if (intervals[i].end < ans[ans.Count-1].start) ans.Insert((int)ans.Count-1, intervals[i]);
    16             else if (intervals[i].start > ans[ans.Count-1].end) ans.Add(intervals[i]);
    17             else {
    18                 ans[ans.Count-1].start = Math.Min(ans[ans.Count-1].start, intervals[i].start);
    19                 ans[ans.Count-1].end = Math.Max(ans[ans.Count-1].end, intervals[i].end);
    20             }
    21         }
    22         return ans;
    23     }
    24 }
    View Code
  • 相关阅读:
    利用PHP SOAP实现WEB SERVICE
    PHP 简单的加密解密算法
    Java 简单的加密解密算法
    去掉php框架CI默认url中的index.php
    PHP 日期计算函数【差异天数】
    PHP生成迅雷、快车、旋风等软件的下载链接代码实例
    转:苹果iphone APP界面设计尺寸官方版
    iOS开发——密码存储之keychain的使用
    Simple iPhone Keychain Access
    View的简单说明
  • 原文地址:https://www.cnblogs.com/yingzhongwen/p/2993227.html
Copyright © 2011-2022 走看看