Search for a RangeMar 3 '125093 / 13502
Given a sorted array of integers, find the starting and ending position of a given target value.
Your algorithm's runtime complexity must be in the order of O(log n).
If the target is not found in the array, return [-1, -1]
.
For example,
Given [5, 7, 7, 8, 8, 10]
and target value 8,
return [3, 4]
.
class Solution { public: vector<int> searchRange(int A[], int n, int target) { vector<int> res; res.push_back(lower(A, 0, n - 1, target)); res.push_back(upper(A, 0, n - 1, target)); return res; } int lower(int a[], int s, int e, int target) { while (s < e) { if (s + 1 == e) { break; } int mid = (s + e) / 2; if (a[mid] >= target) { e = mid; } else if (a[mid] < target) { s = mid; } } if (a[s] == target) return s; if (a[e] != target) return -1; return e; } int upper(int a[], int s, int e, int target) { while (s < e) { if (s + 1 == e) { break; } int mid = (s + e) / 2; if (a[mid] > target) { e = mid; } else if (a[mid] <= target) { s = mid; } } if (a[e] == target) return e; if (a[s] != target) return -1; return s; } };
Search Insert PositionMar 3 '125036 / 10139
Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.
You may assume no duplicates in the array.
Here are few examples.[1,3,5,6]
, 5 → 2[1,3,5,6]
, 2 → 1[1,3,5,6]
, 7 → 4[1,3,5,6]
, 0 → 0
class Solution { public: int searchInsert(int A[], int n, int target) { return lower(A, 0, n - 1, target); } int lower(int a[], int s, int e, int target) { while (s < e) { if (s + 1 == e) { break; } int mid = (s + e) / 2; if (a[mid] >= target) { e = mid; } else if (a[mid] < target) { s = mid; } } if (a[e] < target) return e + 1; if (target <= a[s]) return s; return e; } };
相关推荐
leetcode中文版 「LeetCode-习题集」使用说明 | 中文说明 简介 「LeetCode-习题集」是由热爱算法的 LeetCoders 上传的代码集,我们的目标是贡献所有题解!如果您想成为代码贡献者,体会 GitHub 协同合作的乐趣,请...
这是来自LeetCode的已解决任务的存储库使用Java语言解决任务 CoinChange.java - //leetcode.com/problems/coin-change/ ProductOfArrayExceptSelf.java - //leetcode.com/problems/product-of-array-except-self/ ...
201 | [Bitwise AND of Numbers Range](https://leetcode.com/problems/bitwise-and-of-numbers-range/) | [C++](./C++/bitwise-and-of-numbers-range.cpp) [Python](./Python/bitwise-and-of-numbers-range.py) | _...
leetcode leetcode Java 中的 Leetcode 解决方案 基础 (简单的) (简单的) (简单的) (中等的) (简单的) (难的) (中等的) (中等的) (简单的) (简单的) 二分查找 桶 提高 【两个排序数组的4中位数...
leetcode/lintcode 的问题以及我的解决方案。 类别 专业算法 名称 专业化 例子 Boyer-Moore 投票算法 使用线性时间和恒定空间查找元素序列的大部分。 加泰罗尼亚号码 组合数学中的计数问题 需要更多练习 动态规划 ...
leetcode题库 leetcode 生成文件工具 Usage: python tool.py -p [name] [options] Options: -h, --h 查看帮助 -p name leetcode 题目编号,必须 -a 题目类型为算法 -d 题目类型为数据库 -s 题目类型为Shell -c 编程...
Leetcode/剑指offer/一些算法题目集锦 题目 所使用语言 所属网站 文件位置 二维数组查找 C++ 牛客网 二叉树的坡度 C++ Leetcode 替换空格 C++ 牛客网 二进制中1的个数 C++ 牛客网 调整数组顺序 C++ 牛客网 合并两个...
vscode提交leetcode Leetcode刷题存档 准备 vscode 安装 leetcode 插件 添加leetcode到bin ln -s ~/.vscode/extensions/leetcode.vscode-leetcode-0.17.0/node_modules/vsc-leetcode-cli/bin/leetcode /usr/local/...
【字符串知识】 ...相关题目如《有效字母异位词》(https://leetcode-cn.com/problems/valid-anagram/)、《分组异位词》(https://leetcode-cn.com/problems/group-anagrams/)和《找到字符串中的所有异位词》...
LeetCode 是一个在线编程平台,专注于提供算法题目供程序员练习,提升编程技能,特别是解决算法问题的能力。在LeetCode上,你可以找到各种难度级别的编程挑战,涵盖了数据结构、算法、设计模式等多个领域,有助于...
颜色分类leetcode 实时人脸检测和情感/性别分类使用 fer2013/IMDB 颜色分类leetcode 实时人脸检测和情感/性别分类使用 fer2013/IMDB 颜色分类leetcode 实时人脸检测和情感/性别分类使用 fer2013/IMDB 颜色分类...
js js_leetcode题解之35-search-insert-position.js
c语言入门 C语言_leetcode题解之35-search-insert-position.c
leetcode 答案 leetcode题目列表 题目在注释里说明 预定义了go的模板 注释格式如下 /* 1:两数之和 leetcodeID : 1 leetcode地址 : https://leetcode-cn.com/problems/two-sum/ 难度 : 简单 给定一个整数数组 nums 和...
leetcode 638 Python :grinning_face_with_big_eyes: 让我们一起享受 LeetCode 的乐趣吧! 我已经解决了这些问题。 ID 标题 Python C++ 去 1 二 3 4 5 6 一切 7 一切 8 一切 一切 9 一切 10 一切 一切 十一 一切 13 ...
leetcode寻找最近的 其他 ...https://github.com/yangyu2010/leetcode/blob/master/leetcode/1两数之和.py 整数反转 https://github.com/yangyu2010/leetcode/blob/master/leetcode/7整数反转.py 加一 ...
章LeetCode_lxw LeetCode 编程实践/ / . 由...所提交 。 算法 数字 标题 解决方案 类型 困难 001 哈希表 简单的 002 链表 简单的 003 哈希表 中等的 004 分而治之 难的 005 DP/字符串 难的 006 细绳 中等的 007 数学...
lru缓存leetcode Leetcode练习题极客时间算法训练营题目练习 基础算法 简单的二和 EasyValid 括号 中解码字符串https://leetcode.com/problems/decode-string/ HardLRU 缓存...
leetcode #Coding on LeetCode Online Judge(leetcode 网站) 问题 递归递归 马纳赫 (leetcode 网站) ###a14 问题:最长公共前缀编写一个函数来查找字符串数组中最长的公共前缀字符串。 ###a13 问题:罗马到整数...
java猜字母游戏源码 ...Search && fast-slow pointer 135 困难 Greedy 330 困难 Array && Greedy 4 困难 Array && Binary Search 321 困难 Array && Divide and Conquer 289 中等 Array 53 简单 Dp or Divide and Con