@@ -86455,7 +86455,93 @@ <h3 id="solution-1">Solution 1</h3>
86455
86455
<div class="tabbed-set tabbed-alternate" data-tabs="1:4"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">Java</label><label for="__tabbed_1_3">C++</label><label for="__tabbed_1_4">Go</label></div>
86456
86456
<div class="tabbed-content">
86457
86457
<div class="tabbed-block">
86458
- <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code>
86458
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
86459
+ <span class="normal"> 2</span>
86460
+ <span class="normal"> 3</span>
86461
+ <span class="normal"> 4</span>
86462
+ <span class="normal"> 5</span>
86463
+ <span class="normal"> 6</span>
86464
+ <span class="normal"> 7</span>
86465
+ <span class="normal"> 8</span>
86466
+ <span class="normal"> 9</span>
86467
+ <span class="normal">10</span>
86468
+ <span class="normal">11</span>
86469
+ <span class="normal">12</span>
86470
+ <span class="normal">13</span>
86471
+ <span class="normal">14</span>
86472
+ <span class="normal">15</span>
86473
+ <span class="normal">16</span>
86474
+ <span class="normal">17</span>
86475
+ <span class="normal">18</span>
86476
+ <span class="normal">19</span>
86477
+ <span class="normal">20</span>
86478
+ <span class="normal">21</span>
86479
+ <span class="normal">22</span>
86480
+ <span class="normal">23</span>
86481
+ <span class="normal">24</span>
86482
+ <span class="normal">25</span>
86483
+ <span class="normal">26</span>
86484
+ <span class="normal">27</span>
86485
+ <span class="normal">28</span>
86486
+ <span class="normal">29</span>
86487
+ <span class="normal">30</span>
86488
+ <span class="normal">31</span>
86489
+ <span class="normal">32</span>
86490
+ <span class="normal">33</span>
86491
+ <span class="normal">34</span>
86492
+ <span class="normal">35</span>
86493
+ <span class="normal">36</span>
86494
+ <span class="normal">37</span>
86495
+ <span class="normal">38</span>
86496
+ <span class="normal">39</span>
86497
+ <span class="normal">40</span>
86498
+ <span class="normal">41</span>
86499
+ <span class="normal">42</span>
86500
+ <span class="normal">43</span>
86501
+ <span class="normal">44</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span><span class="w"> </span><span class="nc">Solution</span><span class="p">:</span>
86502
+ <span class="k">def</span><span class="w"> </span><span class="nf">maxFreeTime</span><span class="p">(</span>
86503
+ <span class="bp">self</span><span class="p">,</span> <span class="n">eventTime</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">startTime</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="nb">int</span><span class="p">],</span> <span class="n">endTime</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="nb">int</span><span class="p">]</span>
86504
+ <span class="p">)</span> <span class="o">-></span> <span class="nb">int</span><span class="p">:</span>
86505
+ <span class="n">n</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">startTime</span><span class="p">)</span>
86506
+ <span class="n">res</span> <span class="o">=</span> <span class="mi">0</span>
86507
+
86508
+ <span class="n">left_gaps</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="n">n</span>
86509
+ <span class="n">left_gaps</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">startTime</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
86510
+ <span class="k">for</span> <span class="n">meet</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">n</span><span class="p">):</span>
86511
+ <span class="n">left_gaps</span><span class="p">[</span><span class="n">meet</span><span class="p">]</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span>
86512
+ <span class="n">left_gaps</span><span class="p">[</span><span class="n">meet</span> <span class="o">-</span> <span class="mi">1</span><span class="p">],</span> <span class="n">startTime</span><span class="p">[</span><span class="n">meet</span><span class="p">]</span> <span class="o">-</span> <span class="n">endTime</span><span class="p">[</span><span class="n">meet</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
86513
+ <span class="p">)</span>
86514
+
86515
+ <span class="n">right_gaps</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="n">n</span>
86516
+ <span class="n">right_gaps</span><span class="p">[</span><span class="n">n</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">eventTime</span> <span class="o">-</span> <span class="n">endTime</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
86517
+ <span class="k">for</span> <span class="n">meet</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span> <span class="o">-</span> <span class="mi">2</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">):</span>
86518
+ <span class="n">right_gaps</span><span class="p">[</span><span class="n">meet</span><span class="p">]</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span>
86519
+ <span class="n">right_gaps</span><span class="p">[</span><span class="n">meet</span> <span class="o">+</span> <span class="mi">1</span><span class="p">],</span> <span class="n">startTime</span><span class="p">[</span><span class="n">meet</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">endTime</span><span class="p">[</span><span class="n">meet</span><span class="p">]</span>
86520
+ <span class="p">)</span>
86521
+
86522
+ <span class="k">for</span> <span class="n">meet</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
86523
+ <span class="n">left_gap</span> <span class="o">=</span> <span class="p">(</span>
86524
+ <span class="n">left_gaps</span><span class="p">[</span><span class="n">meet</span><span class="p">]</span> <span class="k">if</span> <span class="n">meet</span> <span class="o">==</span> <span class="mi">0</span> <span class="k">else</span> <span class="n">startTime</span><span class="p">[</span><span class="n">meet</span><span class="p">]</span> <span class="o">-</span> <span class="n">endTime</span><span class="p">[</span><span class="n">meet</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span>
86525
+ <span class="p">)</span>
86526
+ <span class="n">right_gap</span> <span class="o">=</span> <span class="p">(</span>
86527
+ <span class="n">right_gaps</span><span class="p">[</span><span class="n">meet</span><span class="p">]</span>
86528
+ <span class="k">if</span> <span class="n">meet</span> <span class="o">==</span> <span class="n">n</span> <span class="o">-</span> <span class="mi">1</span>
86529
+ <span class="k">else</span> <span class="n">startTime</span><span class="p">[</span><span class="n">meet</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">endTime</span><span class="p">[</span><span class="n">meet</span><span class="p">]</span>
86530
+ <span class="p">)</span>
86531
+
86532
+ <span class="n">interval</span> <span class="o">=</span> <span class="mi">0</span>
86533
+
86534
+ <span class="k">if</span> <span class="p">(</span>
86535
+ <span class="n">meet</span> <span class="o">!=</span> <span class="mi">0</span>
86536
+ <span class="ow">and</span> <span class="n">left_gaps</span><span class="p">[</span><span class="n">meet</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="o">>=</span> <span class="p">(</span><span class="n">endTime</span><span class="p">[</span><span class="n">meet</span><span class="p">]</span> <span class="o">-</span> <span class="n">startTime</span><span class="p">[</span><span class="n">meet</span><span class="p">])</span>
86537
+ <span class="ow">or</span> <span class="n">meet</span> <span class="o">!=</span> <span class="n">n</span> <span class="o">-</span> <span class="mi">1</span>
86538
+ <span class="ow">and</span> <span class="n">right_gaps</span><span class="p">[</span><span class="n">meet</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">>=</span> <span class="p">(</span><span class="n">endTime</span><span class="p">[</span><span class="n">meet</span><span class="p">]</span> <span class="o">-</span> <span class="n">startTime</span><span class="p">[</span><span class="n">meet</span><span class="p">])</span>
86539
+ <span class="p">):</span>
86540
+ <span class="n">interval</span> <span class="o">=</span> <span class="n">endTime</span><span class="p">[</span><span class="n">meet</span><span class="p">]</span> <span class="o">-</span> <span class="n">startTime</span><span class="p">[</span><span class="n">meet</span><span class="p">]</span>
86541
+
86542
+ <span class="n">res</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">res</span><span class="p">,</span> <span class="n">left_gap</span> <span class="o">+</span> <span class="n">interval</span> <span class="o">+</span> <span class="n">right_gap</span><span class="p">)</span>
86543
+
86544
+ <span class="k">return</span> <span class="n">res</span>
86459
86545
</code></pre></div></td></tr></table></div>
86460
86546
</div>
86461
86547
<div class="tabbed-block">
@@ -86503,6 +86589,11 @@ <h3 id="solution-1">Solution 1</h3>
86503
86589
86504
86590
<nav>
86505
86591
86592
+ <a href="https://github.com/AlfredChow2338" class="md-author" title="@AlfredChow2338">
86593
+
86594
+ <img src="https://avatars.githubusercontent.com/u/55742290?v=4&size=72" alt="AlfredChow2338">
86595
+ </a>
86596
+
86506
86597
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
86507
86598
86508
86599
<img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">
0 commit comments