From 1671f47cb9b7ba45b2688a05f32cd8c94a10981f Mon Sep 17 00:00:00 2001 From: Deepak-Kambala Date: Tue, 8 Apr 2025 23:02:46 +0530 Subject: [PATCH 1/2] Add files via upload --- array/binary_search.dart | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 array/binary_search.dart diff --git a/array/binary_search.dart b/array/binary_search.dart new file mode 100644 index 00000000..e69de29b From a0f2733f3678bf325a882488ee187a4e3761cdee Mon Sep 17 00:00:00 2001 From: Deepak-Kambala Date: Tue, 8 Apr 2025 23:05:08 +0530 Subject: [PATCH 2/2] binary_search.dart --- array/binary_search.dart | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/array/binary_search.dart b/array/binary_search.dart index e69de29b..91b5dec8 100644 --- a/array/binary_search.dart +++ b/array/binary_search.dart @@ -0,0 +1,31 @@ +import 'package:test/test.dart'; + + +int bin_search(List numbers, int tar) { + int l = 0, r = numbers.length - 1; + + while (l <= r) { + int mid = (l + r) ~/ 2; + + if (numbers[mid] == tar) { + return mid; + } else if (numbers[mid] < tar) { + l = mid + 1; + } else { + r = mid - 1; + } + } + + return -1; // Not found +} + + +void main() { + test('test 1 - found', () { + expect(bin_search([1, 2, 3, 4], 3), 2); + }); + + test('test 2 - not found', () { + expect(bin_search([1, 2, 3, 4, 7], 12), -1); + }); +}