Skip to main content

moregeek program

leetcode.704 二分查找-多极客编程

1.题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。


2.代码实现

class Solution {
public int search(int[] nums, int target) {
int left = 0;
int right = nums.length-1;
while(left<=right){
int mid = (left+right)/2;
if(nums[mid]<target){
left=mid+1;
}else if(nums[mid]>target){
right = mid-1;
}else{
return mid;
}
}
return -1;
}
}


分析:

1.二分法就是先定义左右两个指针,lefth和right,一个在数组的头,一个在尾,然后循环判断中间值mid的值,判断mid和target的大小,如果mid<target,就left=mid+1;如果mid>target就right=mid-1;直到mid=target就可以返回下标了,否则就返回-1

2.注意while循环的条件是lent<=right,不能少了等号

3.注意while里面的if的条件是数组的元素跟target比,不是索引跟target相比










©著作权归作者所有:来自51CTO博客作者INSISTCSF的原创作品,请联系作者获取转载授权,否则将追究法律责任

web、移动端、桌面端自动化测试工具或框架推荐-多极客编程

目前自动化测试可谓是人人在提,而且自动化工具和一些开源框架也是层出不穷。截止现在,我也接触了一些自动化的知识,分享下。 一、WebUI自动化 1. 工具或框架 Unittest框架,Selenium+Webdriver+Python集成开发 优势: ①使用脚本直接来写,可以锻炼测试的代码能力 ②对于一个团队中人才的吸引也是有很大帮助的 ③可以更方便的加入一些断言或者错误处理 ③对于一些数据处

扫雷程序:基础版-多极客编程

游戏头文件:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<time.h>#define ROWS 11#define COLS 11#define ROW 9#define COL 9void Init_Board(char arr[ROWS][COLS]

初学者难点:如何在c语言中打印小数???-多极客编程

     首先对于我自己而言,刚刚学习C语言的时候一直弄不清楚如何打印小数,尤其是打印两位或者三位小数,当时只会打印整数,也就导致后来一直被蒙在鼓里。下面是我在弄清楚如何打印的过程中的一点心得体会,给还在迷茫中的初学者提供一些参考。     我们知道小数在C语言之中分为两种类型,分别是float和double。它们的区别大致如下:     1.float是单精度浮点数,储存时占空间为4个字节。而d

leetcode.27 移除元素-多极客编程

1.题目给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。2.代码实现class Solution { public int removeElement(int[] nums, int v

leetcode.209 长度最小的子数组-多极客编程

1.题目给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 2.代码实现1.暴力求解 int min=Integer.MAX_VALUE; for(int i=0;

web、移动端、桌面端自动化测试工具或框架推荐-多极客编程

目前自动化测试可谓是人人在提,而且自动化工具和一些开源框架也是层出不穷。截止现在,我也接触了一些自动化的知识,分享下。 一、WebUI自动化 1. 工具或框架 Unittest框架,Selenium+Webdriver+Python集成开发 优势: ①使用脚本直接来写,可以锻炼测试的代码能力 ②对于一个团队中人才的吸引也是有很大帮助的 ③可以更方便的加入一些断言或者错误处理 ③对于一些数据处

nifi-1.16.0版本集群搭建过程记录-多极客编程

一、环境准备1、服务器资源分配IP服务192.168.0.11Zookeeper、NiFi、Kerberos192.168.0.12Zookeeper、NiFi192.168.0.13Zookeeper、NiFi文件下载链接:nifi-1.16.0-bin.tar.gz:​​下载​​nifi-toolkit-1.16.0-bin.tar.gz:​​下载​​相关参考文档:​​NIFI文档​​2、禁用

扫雷程序:基础版-多极客编程

游戏头文件:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<time.h>#define ROWS 11#define COLS 11#define ROW 9#define COL 9void Init_Board(char arr[ROWS][COLS]

flutter异常监控 - 肆 | rollbar源码赏析-多极客编程

一. Rollbar可以帮你解决哪些问题 无特别说明,文中Rollbar统指Rollbar-flutter 1. 代码复用 Rollbar官方文档说是纯Dart实现,该特征意味着自带”代码复用”光环。 如图当接入端(Third-APP)调用Rollbar SDK时表示包含的网络(异常数据上传等)和存储(异常存储管理)可达到复用效果。 若Flutter异常监控框架非纯Dart实现(第三篇中B

nifi集群搭建及基础介绍-多极客编程

一、Nifi配置1)  nifi基本配置1.      jdk配置:nifi新版本要求jdk版本必须1.8以上目录:bin/nifi.env.sh       export JAVA_HOME=/usr/java/jdk1.8   忽略此项配置,nifi将使用系统默认Java环境启动。2.  nifi运行内存配置目录:conf/bootstarp.conf  java.arg.2=-Xms2048

leetcode.27 移除元素-多极客编程

1.题目给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。2.代码实现class Solution { public int removeElement(int[] nums, int v