예제 #1
0
 def test_query_pos(self):
     test_cnt = 1000
     for t in range(test_cnt):
         i = randint(0, len(self.array) - 2)
         j = randint(i + 1, len(self.array) - 1)
         self.assertEqual(self.rmq.query_pos(i, j),
                          i + argmin(self.array[i:j]))
예제 #2
0
 def test_first(self):
     self.assertEqual(argmin(3, 4, 7, 4), 0)
     self.assertEqual(argmin(3, 4, 7, 3), 0)
예제 #3
0
 def test_last(self):
     self.assertEqual(argmin(3, 4, 7, 4, 1), 4)
     self.assertEqual(argmin(3, 4, 7, 3, 1), 4)
예제 #4
0
 def test_middle(self):
     self.assertEqual(argmin(3, 4, 0, 4), 2)
     self.assertEqual(argmin(3, 0, 7, 3), 1)
예제 #5
0
 def test_array(self):
     self.assertEqual(argmin([3, 4, 0, 4]), 2)
     self.assertEqual(argmin([3, 0, 7, 3]), 1)
예제 #6
0
 def test_two(self):
     self.assertEqual(argmin(0, 1), 0)
     self.assertEqual(argmin(0, 0), 0)
     self.assertEqual(argmin(1, 0), 1)
예제 #7
0
 def test_query_pos(self):
     test_cnt = 1000
     for t in range(test_cnt):
         i = randint(0, len(self.array) - 2)
         j = randint(i + 1, len(self.array) - 1)
         self.assertEqual(self.rmq.query_pos(i, j), i + argmin(self.array[i:j]))