技术标签: 学生 LeetCode第34题:在排序数组中查找元素的第一个和最后一个位置(
class Solution {
public int[] searchRange(int[] nums, int target) {
int ans[]=new int[]{
-1,-1};
int len=nums.length;
if(len==0) return ans;
int L=0,R=len-1;
while(L<len){
if(nums[L]==target){
ans[0]=L;
break;
}else{
L++;
}
}
while(R>=0){
if(nums[R]==target){
ans[1]=R;
break;
}else{
R--;
}
}
return ans;
}
}
class Solution {
public int[] searchRange(int[] nums, int target) {
int ans[]=new int[]{
-1,-1};
int len=nums.length;
if(len==0) return ans;
for(int i=0;i<len;){
if(nums[i]==target && ans[0]==-1){
ans[0]=i;
}
if(nums[i]==target){
ans[1]=i;
}else if(nums[i]>target){
break;
}
i++;
}
return ans;
}
}
class Solution {
public int[] searchRange(int[] nums, int target) {
int ans[]=new int[]{
-1,-1};
int len=nums.length;
int start,end;
if(len==0) return ans;
if(nums[len/2] < target){
start=len/2;
end=len;
}else if(nums[len/2] > target){
start=0;
end=len/2;
}else{
start=0;
end=len;
}
for(int i=start;i<end;){
if(nums[i]==target && ans[0]==-1){
ans[0]=i;
}
if(nums[i]==target){
ans[1]=i;
}else if(nums[i]>target){
break;
}
i++;
}
return ans;
}
}
class Solution {
// returns leftmost (or rightmost) index at which `target` should be
// inserted in sorted array `nums` via binary search.
private int extremeInsertionIndex(int[] nums, int target, boolean left) {
int lo = 0;
int hi = nums.length;
while (lo < hi) {
int mid = (lo + hi) / 2;
if (nums[mid] > target || (left && target == nums[mid])) {
hi = mid;
}
else {
lo = mid+1;
}
}
return lo;
}
public int[] searchRange(int[] nums, int target) {
int[] targetRange = {
-1, -1};
int leftIdx = extremeInsertionIndex(nums, target, true);
// assert that `leftIdx` is within the array bounds and that `target`
// is actually in `nums`.
if (leftIdx == nums.length || nums[leftIdx] != target) {
return targetRange;
}
targetRange[0] = leftIdx;
targetRange[1] = extremeInsertionIndex(nums, target, false)-1;
return targetRange;
}
}
作者:LeetCode
链接:https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/solution/zai-pai-xu-shu-zu-zhong-cha-zhao-yuan-su-de-di-yi-/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
今天主要在做大厅服务器和水浒传的服务器的通信1.完成了大厅服务器对水浒传服务器发送的报文的整理2.完成了大厅服务器接收水浒传游戏服务器报文到来的相应功能体会:在实际的做的过程中慢慢明白了大厅服务器的结构和相关的功能。大厅服务器相对比较杂,和多方通信,起控制和报文转发的功能。连接客户端和游戏服务器。转载于:https://www.cnblogs.com/f-g-k/p/5020043.html...
不占用结构体空间,使用分配内存,但是可以使用,使用完不用释放内存。零长度数组内存大小没有限制,使用指针不能偏移(除非使用malloc,给零长度数组分配内存)例如:typedef struct{ char *data; char buf[0];}buf_t; int main(){ buf_t buf; cha...
基本操作:初始化赋值是否为空取值定位元素位置删除元素插入元素遍历顺序表结果:代码:#include <stdio.h>#include <stdlib.h>#define MAXSIZE 100#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status; //Stat
一、质量管理1、质量管理基本原则?1、以使用为核心的多远要求;2、系统工程;3、职工参与管理;4、管理层和第一把手重视;5、保护消费者权益;6、面向国际市场;2、质量管理的目标?1、顾客满意度;2、预防胜于检查;3、各阶段内的过程;3、质量管理的主要活动有哪些?(记)1、质量策划;2、质量保证;3、质量控制;4、质量管理流程包括哪四个环节?(记)(按P'DCA理解记忆)...
Van-UI发送验证码样式:&amp;lt;van-field v-model=&quot;salaryRange&quot; center disabled label=&quot;薪资&quot; placeholder=&quot;请输入薪资&quot; &amp;gt;
加密方式与http://tool.chacuo.net/cryptdes加密方式一样<?phpecho '';$key = '1234';$jiami = encrypt('123',$key);echo $jiami.'';echo decrypt($jiami,$key);//加密function encrypt($str, $key){ $block
1. JSON提取器是专门用来对返回的响应结果是application/json格式的报文进行提取,如下所示2. 首先在需要提前变量的HTTP请求点击右键--添加--后置处理器--JSON提取器3. JSON提取器,变量应用范围,默认选择Main sample only即可,关于应用范围,我们大多数勾选“mainsampleonly”就足够了,因为我们一个请求,实质上只有一个请求。但是当我们发一个请求时,可以触发多个服务器请求,类似于ajax那种,那么就有mainsample...
AndroidStudio RecycleView的添加在另外的一篇博客里,就不说了, 话不多说,直接上代码(我这里是直接解析assets下的json数据显示在RecycleView中的,比较简单): JsonData:[ { "id": "1", "version": "1", "name": "Angry Birds" }, { "id": "2"
最早的一家,8月17日连续两面965,性价比不错技术面30分钟,视频自我介绍项目介绍,直接介绍7nm工艺有哪些特点,物理设计需要注意什么芯片面积,频率,门数Floorplan怎么做的,为什么floorplan做完后做过哪些检查做过哪些模式的STA(主要项目从65nm到14nm都有,PR工具为ICC2)HR面15分钟,视频成绩,爱好,家庭,期望薪资...
文章目录Sentinel三大功能功能一:监控检测主观下线状态:down-after-milliseconds检查客观下线状态:少数服从多数功能二:选主,功能三:通知第一步:选举领头Sentinel第二步:选出新的主服务器第三步:修改从服务器的复制目标第四步:将旧的主服务器变为从服务器哨兵集群、哨兵与主从库、哨兵与客户端启动并初始化Sentinel流程获取主服务器信息:INFO获取从服务器信息:INFO向主服务器和从服务器发送信息:命令连接接收来自主服务器和从服务器的频道信息:订阅连接基于pub/sub机制的
目录22.1. Ubuntu22.2. CentOS22.3. npm -- node package manager22.3.1. link22.4. pm222.4.1. logs22.5. Loop22.5.1. forEachhttp://nodejs.org/ 22.1.Ubuntu$ sudo ...
1. 被监控机配置1.1. 上传监控客户端进入目录/home/monitor,上传node_exporter-0.14.0.linux-amd64.tar.gz 文件(用monitor用户上传)。1.2. 启动监控客户端进程解压,命令:tar -zxvf node_exporter-0.14.0.linux-amd64.tar.gz进入目录,命令:cd node_exporter-0....