33 flatten_iter , flatten ,
44 garage ,
55 josephus ,
6- longest_non_repeat_v1 , longest_non_repeat_v2 , get_longest_non_repeat_v1 , get_longest_non_repeat_v2 ,
6+ longest_non_repeat_v1 , longest_non_repeat_v2 ,
7+ get_longest_non_repeat_v1 , get_longest_non_repeat_v2 ,
78 Interval , merge_intervals ,
89 missing_ranges ,
910 move_zeros ,
@@ -51,12 +52,14 @@ def test_delete_nth_naive(self):
5152 [1 , 1 , 3 , 3 , 7 , 2 , 2 , 2 , 2 ], n = 3 ),
5253 [1 , 1 , 3 , 3 , 7 , 2 , 2 , 2 ])
5354 self .assertListEqual (delete_nth_naive (
54- [1 , 2 , 3 , 1 , 1 , 2 , 1 , 2 , 3 , 3 , 2 , 4 , 5 , 3 , 1 ], n = 3 ),
55+ [1 , 2 , 3 , 1 , 1 , 2 , 1 , 2 , 3 , 3 , 2 , 4 , 5 , 3 , 1 ],
56+ n = 3 ),
5557 [1 , 2 , 3 , 1 , 1 , 2 , 2 , 3 , 3 , 4 , 5 ])
5658 self .assertListEqual (delete_nth_naive ([], n = 5 ),
5759 [])
5860 self .assertListEqual (delete_nth_naive (
59- [1 , 2 , 3 , 1 , 1 , 2 , 1 , 2 , 3 , 3 , 2 , 4 , 5 , 3 , 1 ], n = 0 ),
61+ [1 , 2 , 3 , 1 , 1 , 2 , 1 , 2 , 3 , 3 , 2 , 4 , 5 , 3 , 1 ],
62+ n = 0 ),
6063 [])
6164
6265 def test_delete_nth (self ):
@@ -65,11 +68,13 @@ def test_delete_nth(self):
6568 [20 , 37 , 21 ])
6669 self .assertListEqual (delete_nth ([1 , 1 , 3 , 3 , 7 , 2 , 2 , 2 , 2 ], n = 3 ),
6770 [1 , 1 , 3 , 3 , 7 , 2 , 2 , 2 ])
68- self .assertListEqual (delete_nth ([1 , 2 , 3 , 1 , 1 , 2 , 1 , 2 , 3 , 3 , 2 , 4 , 5 , 3 , 1 ], n = 3 ),
71+ self .assertListEqual (delete_nth ([1 , 2 , 3 , 1 , 1 , 2 , 1 , 2 , 3 , 3 , 2 , 4 ,
72+ 5 , 3 , 1 ], n = 3 ),
6973 [1 , 2 , 3 , 1 , 1 , 2 , 2 , 3 , 3 , 4 , 5 ])
7074 self .assertListEqual (delete_nth ([], n = 5 ),
7175 [])
72- self .assertListEqual (delete_nth ([1 , 2 , 3 , 1 , 1 , 2 , 1 , 2 , 3 , 3 , 2 , 4 , 5 , 3 , 1 ], n = 0 ),
76+ self .assertListEqual (delete_nth ([1 , 2 , 3 , 1 , 1 , 2 , 1 , 2 , 3 , 3 , 2 , 4 ,
77+ 5 , 3 , 1 ], n = 0 ),
7378 [])
7479
7580
@@ -169,9 +174,8 @@ def test_longest_non_repeat_v2(self):
169174
170175 string = "asjrgapa"
171176 self .assertEqual (longest_non_repeat_v2 (string ), 6 )
172-
177+
173178 def test_get_longest_non_repeat_v1 (self ):
174-
175179 string = "abcabcbb"
176180 self .assertEqual (get_longest_non_repeat_v1 (string ), (3 , 'abc' ))
177181
@@ -188,7 +192,6 @@ def test_get_longest_non_repeat_v1(self):
188192 self .assertEqual (get_longest_non_repeat_v1 (string ), (6 , 'sjrgap' ))
189193
190194 def test_get_longest_non_repeat_v2 (self ):
191-
192195 string = "abcabcbb"
193196 self .assertEqual (get_longest_non_repeat_v2 (string ), (3 , 'abc' ))
194197
@@ -209,9 +212,12 @@ class TestMaxOnesIndex(unittest.TestCase):
209212
210213 def test_max_ones_index (self ):
211214
212- self .assertEqual (9 , max_ones_index ([1 , 1 , 0 , 0 , 1 , 0 , 1 , 1 , 1 , 0 , 1 , 1 , 1 ]))
213- self .assertEqual (3 , max_ones_index ([1 , 1 , 1 , 0 , 1 , 1 , 1 , 1 , 1 , 0 , 1 , 1 , 1 ]))
214- self .assertEqual (- 1 , max_ones_index ([1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ]))
215+ self .assertEqual (9 , max_ones_index ([1 , 1 , 0 , 0 , 1 , 0 , 1 , 1 , 1 , 0 , 1 ,
216+ 1 , 1 ]))
217+ self .assertEqual (3 , max_ones_index ([1 , 1 , 1 , 0 , 1 , 1 , 1 , 1 , 1 , 0 , 1 ,
218+ 1 , 1 ]))
219+ self .assertEqual (- 1 , max_ones_index ([1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
220+ 1 , 1 ]))
215221
216222
217223class TestMergeInterval (unittest .TestCase ):
@@ -255,7 +261,8 @@ def test_move_zeros(self):
255261 self .assertListEqual (move_zeros ([False , 1 , 0 , 1 , 2 , 0 , 1 , 3 , "a" ]),
256262 [False , 1 , 1 , 2 , 1 , 3 , "a" , 0 , 0 ])
257263
258- self .assertListEqual (move_zeros ([0 , 34 , 'rahul' , [], None , 0 , True , 0 ]),
264+ self .assertListEqual (move_zeros ([0 , 34 , 'rahul' , [], None , 0 ,
265+ True , 0 ]),
259266 [34 , 'rahul' , [], None , True , 0 , 0 , 0 ])
260267
261268
@@ -297,31 +304,31 @@ class TestRotateArray(unittest.TestCase):
297304 def test_rotate_v1 (self ):
298305
299306 self .assertListEqual (rotate_v1 ([1 , 2 , 3 , 4 , 5 , 6 , 7 ], k = 3 ),
300- [5 , 6 , 7 , 1 , 2 , 3 , 4 ])
307+ [5 , 6 , 7 , 1 , 2 , 3 , 4 ])
301308 self .assertListEqual (rotate_v1 ([1 , 2 , 3 , 4 , 5 , 6 , 7 ], k = 1 ),
302- [7 , 1 , 2 , 3 , 4 , 5 , 6 ])
309+ [7 , 1 , 2 , 3 , 4 , 5 , 6 ])
303310 self .assertListEqual (rotate_v1 ([1 , 2 , 3 , 4 , 5 , 6 , 7 ], k = 7 ),
304- [1 , 2 , 3 , 4 , 5 , 6 , 7 ])
311+ [1 , 2 , 3 , 4 , 5 , 6 , 7 ])
305312 self .assertListEqual (rotate_v1 ([1 , 2 ], k = 111 ), [2 , 1 ])
306313
307314 def test_rotate_v2 (self ):
308315
309316 self .assertListEqual (rotate_v2 ([1 , 2 , 3 , 4 , 5 , 6 , 7 ], k = 3 ),
310- [5 , 6 , 7 , 1 , 2 , 3 , 4 ])
317+ [5 , 6 , 7 , 1 , 2 , 3 , 4 ])
311318 self .assertListEqual (rotate_v2 ([1 , 2 , 3 , 4 , 5 , 6 , 7 ], k = 1 ),
312- [7 , 1 , 2 , 3 , 4 , 5 , 6 ])
319+ [7 , 1 , 2 , 3 , 4 , 5 , 6 ])
313320 self .assertListEqual (rotate_v2 ([1 , 2 , 3 , 4 , 5 , 6 , 7 ], k = 7 ),
314- [1 , 2 , 3 , 4 , 5 , 6 , 7 ])
321+ [1 , 2 , 3 , 4 , 5 , 6 , 7 ])
315322 self .assertListEqual (rotate_v2 ([1 , 2 ], k = 111 ), [2 , 1 ])
316323
317324 def test_rotate_v3 (self ):
318325
319326 self .assertListEqual (rotate_v3 ([1 , 2 , 3 , 4 , 5 , 6 , 7 ], k = 3 ),
320- [5 , 6 , 7 , 1 , 2 , 3 , 4 ])
327+ [5 , 6 , 7 , 1 , 2 , 3 , 4 ])
321328 self .assertListEqual (rotate_v3 ([1 , 2 , 3 , 4 , 5 , 6 , 7 ], k = 1 ),
322- [7 , 1 , 2 , 3 , 4 , 5 , 6 ])
329+ [7 , 1 , 2 , 3 , 4 , 5 , 6 ])
323330 self .assertListEqual (rotate_v3 ([1 , 2 , 3 , 4 , 5 , 6 , 7 ], k = 7 ),
324- [1 , 2 , 3 , 4 , 5 , 6 , 7 ])
331+ [1 , 2 , 3 , 4 , 5 , 6 , 7 ])
325332 self .assertListEqual (rotate_v3 ([1 , 2 ], k = 111 ), [2 , 1 ])
326333
327334
@@ -363,14 +370,16 @@ class TestTrimmean(unittest.TestCase):
363370 def test_trimmean (self ):
364371
365372 self .assertEqual (trimmean ([1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ], 20 ), 5.5 )
366- self .assertEqual (trimmean ([1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 ], 20 ), 6.0 )
373+ self .assertEqual (trimmean ([1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 ], 20 ),
374+ 6.0 )
367375
368376
369377class TestTop1 (unittest .TestCase ):
370378
371379 def test_top_1 (self ):
372- self .assertListEqual (top_1 ([1 , 1 , 2 , 2 , 3 ]), [1 , 2 ])
373- self .assertListEqual (top_1 ([1 , 2 , 3 , 324 , 234 , 23 , 23 , 1 , 23 , 23 ]), [23 ])
380+ self .assertListEqual (top_1 ([1 , 1 , 2 , 2 , 3 ]), [1 , 2 ])
381+ self .assertListEqual (top_1 ([1 , 2 , 3 , 324 , 234 , 23 , 23 , 1 , 23 , 23 ]),
382+ [23 ])
374383
375384
376385class TestLimit (unittest .TestCase ):
@@ -385,21 +394,34 @@ class TestNSum(unittest.TestCase):
385394
386395 def test_n_sum (self ):
387396 self .assertEqual (n_sum (2 , [- 3 , 5 , 2 , 3 , 8 , - 9 ], 6 ), []) # noqa: E501
388- self .assertEqual (n_sum (3 , [- 5 , - 4 , - 3 , - 2 , - 1 , 0 , 1 , 2 , 3 ], 0 ), sorted ([[- 5 ,2 ,3 ],[- 2 ,0 ,2 ],[- 4 ,1 ,3 ],[- 3 ,1 ,2 ],[- 1 ,0 ,1 ],[- 2 ,- 1 ,3 ],[- 3 ,0 ,3 ]])) # noqa: E501
389- self .assertEqual (n_sum (3 , [- 1 ,0 ,1 ,2 ,- 1 ,- 4 ], 0 ), sorted ([[- 1 ,- 1 ,2 ],[- 1 ,0 ,1 ]])) # noqa: E501
390- self .assertEqual (n_sum (4 , [1 , 0 , - 1 , 0 , - 2 , 2 ], 0 ), sorted ([[- 2 , - 1 , 1 , 2 ], [- 2 , 0 , 0 , 2 ], [- 1 , 0 , 0 , 1 ]])) # noqa: E501
397+ self .assertEqual (n_sum (3 , [- 5 , - 4 , - 3 , - 2 , - 1 , 0 , 1 , 2 , 3 ], 0 ),
398+ sorted ([[- 5 , 2 , 3 ], [- 2 , 0 , 2 ], [- 4 , 1 , 3 ],
399+ [- 3 , 1 , 2 ], [- 1 , 0 , 1 ], [- 2 , - 1 , 3 ],
400+ [- 3 , 0 , 3 ]])) # noqa: E501
401+ self .assertEqual (n_sum (3 , [- 1 , 0 , 1 , 2 , - 1 , - 4 ], 0 ),
402+ sorted ([[- 1 , - 1 , 2 ], [- 1 , 0 , 1 ]])) # noqa: E501
403+ self .assertEqual (n_sum (4 , [1 , 0 , - 1 , 0 , - 2 , 2 ], 0 ),
404+ sorted ([[- 2 , - 1 , 1 , 2 ], [- 2 , 0 , 0 , 2 ],
405+ [- 1 , 0 , 0 , 1 ]])) # noqa: E501
391406 self .assertEqual (n_sum (4 , [7 , - 6 , - 5 , - 4 , - 3 , - 2 , - 1 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 6 , 4 , - 3 , - 2 ], 10 ), sorted ([[- 6 , 2 , 7 , 7 ], [- 6 , 3 , 6 , 7 ], [- 6 , 4 , 5 , 7 ], [- 6 , 4 , 6 , 6 ], [- 5 , 1 , 7 , 7 ], [- 5 , 2 , 6 , 7 ], [- 5 , 3 , 5 , 7 ], [- 5 , 3 , 6 , 6 ], [- 5 , 4 , 4 , 7 ], [- 5 , 4 , 5 , 6 ], [- 4 , 0 , 7 , 7 ], [- 4 , 1 , 6 , 7 ], [- 4 , 2 , 5 , 7 ], [- 4 , 2 , 6 , 6 ], [- 4 , 3 , 4 , 7 ], [- 4 , 3 , 5 , 6 ], [- 4 , 4 , 4 , 6 ], [- 3 , - 1 , 7 , 7 ], [- 3 , 0 , 6 , 7 ], [- 3 , 1 , 5 , 7 ], [- 3 , 1 , 6 , 6 ], [- 3 , 2 , 4 , 7 ], [- 3 , 2 , 5 , 6 ], [- 3 , 3 , 4 , 6 ], [- 3 , 4 , 4 , 5 ], [- 2 , - 2 , 7 , 7 ], [- 2 , - 1 , 6 , 7 ], [- 2 , 0 , 5 , 7 ], [- 2 , 0 , 6 , 6 ], [- 2 , 1 , 4 , 7 ], [- 2 , 1 , 5 , 6 ], [- 2 , 2 , 3 , 7 ], [- 2 , 2 , 4 , 6 ], [- 2 , 3 , 4 , 5 ], [- 1 , 0 , 4 , 7 ], [- 1 , 0 , 5 , 6 ], [- 1 , 1 , 3 , 7 ], [- 1 , 1 , 4 , 6 ], [- 1 , 2 , 3 , 6 ], [- 1 , 2 , 4 , 5 ], [- 1 , 3 , 4 , 4 ], [0 , 1 , 2 , 7 ], [0 , 1 , 3 , 6 ], [0 , 1 , 4 , 5 ], [0 , 2 , 3 , 5 ], [0 , 2 , 4 , 4 ], [1 , 2 , 3 , 4 ]])) # noqa: E501
392407
393- self .assertEqual (n_sum (2 , [[- 3 , 0 ], [- 2 , 1 ], [2 , 2 ], [3 , 3 ], [8 , 4 ], [- 9 , 5 ]], 0 , # noqa: E501
408+ self .assertEqual (n_sum (2 , [[- 3 , 0 ], [- 2 , 1 ], [2 , 2 ], [3 , 3 ], [8 , 4 ],
409+ [- 9 , 5 ]], 0 , # noqa: E501
394410 sum_closure = lambda a , b : a [0 ] + b [0 ]), # noqa: E501
395411 [[[- 3 , 0 ], [3 , 3 ]], [[- 2 , 1 ], [2 , 2 ]]]) # noqa: E501
396- self .assertEqual (n_sum (2 , [[- 3 , 0 ], [- 2 , 1 ], [2 , 2 ], [3 , 3 ], [8 , 4 ], [- 9 , 5 ]], [0 , 3 ], # noqa: E501
397- sum_closure = lambda a , b : [a [0 ] + b [0 ], a [1 ] + b [1 ]], # noqa: E501
398- same_closure = lambda a , b : a [0 ] == b [0 ] and a [1 ] == b [1 ]), # noqa: E501
412+ self .assertEqual (n_sum (2 , [[- 3 , 0 ], [- 2 , 1 ], [2 , 2 ], [3 , 3 ], [8 , 4 ],
413+ [- 9 , 5 ]], [0 , 3 ], # noqa: E501
414+ sum_closure = lambda a , b : [a [0 ] + b [0 ],
415+ a [1 ] + b [1 ]], # noqa: E501
416+ same_closure = lambda a , b : a [0 ] == b [0 ]
417+ and a [1 ] == b [1 ]), # noqa: E501
399418 [[[- 3 , 0 ], [3 , 3 ]], [[- 2 , 1 ], [2 , 2 ]]]) # noqa: E501
400- self .assertEqual (n_sum (2 , [[- 3 , 0 ], [- 2 , 1 ], [2 , 2 ], [3 , 3 ], [8 , 4 ], [- 9 , 5 ]], - 5 , # noqa: E501
401- sum_closure = lambda a , b : [a [0 ] + b [1 ], a [1 ] + b [0 ]], # noqa: E501
402- compare_closure = lambda a , b : - 1 if a [0 ] < b else 1 if a [0 ] > b else 0 ), # noqa: E501
419+ self .assertEqual (n_sum (2 , [[- 3 , 0 ], [- 2 , 1 ], [2 , 2 ], [3 , 3 ],
420+ [8 , 4 ], [- 9 , 5 ]], - 5 , # noqa: E501
421+ sum_closure = lambda a , b : [a [0 ] + b [1 ],
422+ a [1 ] + b [0 ]], # noqa: E501
423+ compare_closure = lambda a , b : - 1 if a [0 ] < b
424+ else 1 if a [0 ] > b else 0 ), # noqa: E501
403425 [[[- 9 , 5 ], [8 , 4 ]]]) # noqa: E501
404426
405427
0 commit comments