![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
二分查找
力扣刷题之二分查找
是我来晚了!
一起努力呀!
展开
-
《力扣刷题》 二分查找(x 的平方根)
题目描述若存在一个非负整数 x,计算并返回 x 的算术平方根由于返回类型是整数,结果只保留整数部分,小数部分将被舍去C 语言具体代码实现二分查找的具体过程如下!!!#include <stdio.h> int mySqrt(int x){ long left = 1, right = x; // 设置左右边界 while(left <= right){ long mid = (left+right)/2; lon原创 2022-04-06 22:19:15 · 707 阅读 · 0 评论 -
《力扣刷题》 二分查找(两个数组间的距离值)
题目描述若存在两个整数数组 arr1,arr2 和一个整数 d ,需要我们返回两个数组之间的距离值「距离值」定义为符合此距离要求的元素数目:对于元素,不存在任何元素满足 C 语言具体代码实现先看看作者本人的想法:模拟枚举!!! 首先假设 arr1 中的所有元素都符合要求,然后利用两个循环来筛选掉不符合的元素#include <stdio.h>#include <math.h>int findTheDistanceValue(in...原创 2022-04-05 18:21:21 · 241 阅读 · 0 评论 -
《力扣刷题》 二分查找(有效的完全平方数)
题目描述若存在一个正整数 num ,需要我们编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 falseC 语言具体代码实现先看作者本人的想法:暴力枚举法!!! 简单来讲,从(i —— 1 直到 num)开始遍历,如果满足 ,那么返回 ture,否则返回 false#include <stdio.h>bool isPerfectSquare(int num){ // 暴力枚举 for(long int i = 1;...原创 2022-04-05 14:25:53 · 166 阅读 · 0 评论 -
《力扣刷题》 二分查找(山脉数组的峰顶索引)
题目描述定义山脉数组 的长度 大于 2,且存在索引项 i,使大于此前和此后的所有元素(直到 和)C 语言具体代码实现先看看作者本人的想法!!!(和枚举法差不多,哈哈哈) 我们先计算出数组中间元素的索引项 mid,然后在此索引项二边查找峰顶,满足#include <stdio.h> int peakIndexInMountainArray(int *arr, int arrSize){ // 先找到数组的中间位置 int l...原创 2022-04-04 20:30:22 · 276 阅读 · 0 评论 -
《力扣刷题》二分查找(搜索插入位置)
题目描述若存在一个递增数组和一个目标值,要求在数组中找到目标值,并返回其索引;若目标值不在数组中,则返回它将被插入的索引值此处在以往二分查找的基础上拓展了一个小地方 以往如果查找到目标值,那么返回索引值;若没有查找到目标值,那么返回 -1(代表没找到) 如今如果查找到目标值,那么返回索引值;若没有查找到目标值,那么返回其应该插入的索引位(使其仍为递增数组)C 语言具体代码实现此题二分查找的运用过程如下:#include <stdio.h>...原创 2022-04-04 19:24:46 · 274 阅读 · 0 评论 -
《力扣刷题》 二分查找(猜数字大小)
题目描述猜数字游戏的规则如下:每轮游戏,都会从1到n 随机选择一个数字,需要我们来猜是那个数字,如果我们猜的数字大于给出的数字那么返回 -1;如果我们猜的数字等于给出的数字那么返回 0;否则返回 1也就是说,每次游戏可能会含有几轮!!!而且每轮给出的数字都是变化的C 语言具体代码实现#include <stdio.h>#include <stdlib.h>#include <time.h>int guess(int n...原创 2022-04-03 21:44:54 · 3557 阅读 · 0 评论 -
《力扣刷题》 二分查找
题目描述若存在一个 n 个元素升序的整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在则返回下标,否则返回 -1C 语言具体代码实现此题二分查找的运用过程如下:在升序数组 中寻找目标值 ,对于特定下标 ,比较 和 的大小:,则 即为要寻找的下标,则只能在下标的左侧 ,则只能在下标的右侧#include <stdio.h>...原创 2022-04-03 21:00:10 · 562 阅读 · 0 评论 -
《力扣刷题》 二分查找(寻找比目标字母大的最小字母)
题目描述若存在一个排序后的字符列表 letters,列表中只包含小写英文字母;另外存在一个目标字母 target,需要在这字符列表里寻找比目标字母大的最小字母特别注意!!!在比较时,字母是依序循环出现的,也就是说比 大的最小字母为C 语言具体代码实现第一种算法:线性查找!!!由于字符列表是已经从小到大排序好了的,也就是说从此列表的第一项开始同目标字符比较,直到最后一项,第一次出现比目标字符大的字符就是题目中需要寻找的字母;如果查找完毕都没有发现任何一个字符比目...原创 2022-04-03 20:26:03 · 332 阅读 · 0 评论