Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Написать функцию indexOf для массива
- */
- // O(n)
- function indexOf(arr, target) {
- let res = -1;
- for (var i = 0; i < arr.length; i++) {
- if (arr[i] === target) res = i;
- }
- console.log(res);
- }
- indexOf([1, 2, 3], 1) // 0
- indexOf([1, 2, 3], 4) // -1
- // O(log(n))
- function indexOf(arr, target) {
- let start = 0;
- let end = arr.length;
- function check(i) {
- return i >= 0 && i < arr.length && arr[i] === target;
- }
- while(end - start > 1) {
- let mid = start + Math.floor((end - start) / 2);
- if (check(mid)) {
- return mid;
- } else if (target > arr[mid]) {
- start = mid;
- } else {
- end = mid;
- }
- }
- if (arr[start] === target) {
- return start
- }
- return -1
- }
- console.log(indexOf([1, 2, 3], 1)) // 0
- console.log(indexOf([1, 2, 3], 4)) // -1
- console.log(indexOf([1, 2, 3, 4, 5, 6, 7, 8], 8)) // 7
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement