14 · 二分查找(LintCode,算法,简单)失败

LintCode 介绍 第一次在优快云上发布文章 作为一名代码小白,有幸来到优快云进行学习,同时也是很幸运地被介绍了LintCode并且在其中练习各类算法题目,我将在优快云中分享在LintCode中的经历,希望有大佬多带带我! LintCode网站概括 LintCode是一个集合了大量算法面试题和AI面试题的网站,它为全世界的码农提供了练习自我技能的良好平台,注册是免费的,并且会在注册或关注公众号绑定微信后赠送用户7天VIP【开放全部试题,还可以查看他人代码】。 试题概况 在LintCode中,新人VIP可以查看的题目包括1 阅读详情

描述

给定一个排序的整数数组(升序)和一个要查找的整数 target,用O(logn)O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。

样例

样例 1:

输入:

数组 = [1,4,4,5,7,7,8,9,9,10]
target = 1

输出:

0

解释:

第一次出现在第0个位置。

样例 2:

输入:

数组 = [1, 2, 3, 3, 4, 5, 10]
target = 3

输出:

2

解释:

第一次出现在第2个位置

样例 3:

输入:

数组 = [1, 2, 3, 3, 4, 5, 10]
target = 6

输出:

-1

解释:

没有出现过6, 返回-1

挑战

如果数组中的整数个数超过了2^{32}232,你的算法是否会出错?

C语言:

/**
 * You can create and use dynamic array in your code.
 * You can replace "int" to any other type you want to put in the array, e.g. float, char*, list_node*.
 * Create an empty int array:         int* arr = NULL;
 * Add an element to the back:        cvector_push_back(arr, 42);
 * Remove an element from the back:   cvector_pop_back(arr);
 * Get size of a dynamic array:       cvector_size(arr)
 * For other macros, see https://github.com/eteran/c-vector
 */
/**
 * @param nums: The integer array.
 * @param target: Target to find.
 * @return: The first position of target. Position starts from 0.
 */
int binary_search(int* nums, int target) {
    // write your code here
    int amount=0,len=0;
    int left, right, mid;
    for(int i=0;;i++)
    {
        if(nums[i]=='\0')
        {
            len=i;
            break;
        }
    }
    left=0;
    right=len-1;
    mid=(right-left)/2;
    while(1)
    {
        if(nums[left]==target)
            return left;
        else if(nums[right]==target)
            return right;
        else if(nums[mid]==target)
            return mid;
        else if(nums[mid]>target)
        {
            right=mid-1;
        }
        else if(nums[mid]<target)
        {
            left=mid+1;
        }
        mid=(right-left)/2;
    }
    return -1;
}

Compile Error        0%

异常信息

/code/Main.c: In function 'main':
/code/Main.c:17:15: error: 'data' undeclared (first use in this function)
   17 |         fgets(data, MAX_LEN, td->fin);
      |               ^~~~
/code/Main.c:17:15: note: each undeclared identifier is reported only once for each function it appears in

Lintcode算法训练与面试准备指南 Lintcode是一个在线编程和算法训练平台,它旨在帮助开发者通过解决实际问题来提升编程技能。在这一章节中,我们将介绍Lintcode的基本概念、平台特色以及它如何为算法训练和面试准备提供支持。Lintcode致力于成为程序员技能提升的良师益友,它提供了一个编程题目库,覆盖了从初级到高级的不同难度等级,供用户通过解决实际问题来锻炼编程能力。平台不仅包括算法和数据结构的练习,还涉及前端、后端、数据库和网络等方面的知识点。Java 8引入了Lambda表达式作为对函数式编程概念的初步尝试。 阅读详情

相关推荐

ERA5数据批量下载

ERA5再分析数据的IDM接管下载

qq_38734327的博客 3034

c语言 in function main,C语言提交后显示编译结果main.c: In function `main':是啥意思?...

在第一次引用y变量前没有给y赋值,比如int y; printf("%d\n",y);会报你的那种警告,但是int y; y = 10; printf("%d\n",y);例如:printf("days=%d",days);} ///////////////////////////////括号没有配对return 0;}int year(int a) /*就是停bai在这行*/{int o;if(...

weixin_33093437的博客 1万+

使用VS Code创建第一个Flutter工程

你可以使用任意文本编辑器结合命令行工具来开发Flutter应用。然而,我们推荐使用本文介绍的编辑器插件以获取更好的开发体验。这些插件提供了代码补全、代码高亮、widget辅助编辑等功能,以及为项目的运行和调试提供支持。推荐的开发工具有VS Code、Android Studio、IntelliJ。本文将重点介绍如何使用VS Code进行Flutter应用开发。

2501_91373349的博客 2126

C语言基础知识:最核心的—指针,知识总结(第二部分)

指针是C语言最重要也是最难理解的部分,它在我们平时的工作中无处不在。

致力于C语言C++知识分享! 1199

LSF实践专题(15):LSF队列优先级以及抢占功能初探

在LSF暂停作业时,会向作业发送一个SIGTSTP信号,并且将作业状态变成SSUSP(system suspend),表示被系统暂停,这时,最好是作业的应用能够捕获和处理SIGTSTP信号,否则,即使在LSF中,作业会被认为暂停了,并且释放了slots资源,但是在实际OS中,作业进程仍然在继续,并且不会释放CPU等计算资源。是指LSF自动将低优先级作业暂停(suspend),将空余出来的资源交给高优先级队列中的作业使用,等到高优先级队列的作业结束后,再将被暂停的作业恢复(resume)并继续运行。

richycn的博客 1919

技术指南| 叶绿体基因组高级分析全流程解析

本文详细解析了叶绿体基因组高级分析的全流程,包括实验设计、序列组装与注释、比较基因组分析、选择压力与功能进化等关键步骤。通过实战案例和技术技巧,帮助研究者掌握叶绿体基因组分析的核心方法,提升植物进化研究和系统学分析的效率与准确性。

weixin_33725239的博客 491

Linux报错In function ‘main’:

解决In function ‘main’的思路是解决gcc的warning信息,把上面警告的代码注释掉就通过了。

successfully2050的博客 1万+

三维重建/SLAM笔记_最佳学习路线/攻略

本文目的 学习三维重建,需要不少知识,而知识之间又存在不同的依赖关系,为了后来人能少走弯路,也为了对自己的知识框架系统总结,特记录自己的学习路线。 学习心得 关于读书,了解基础知识是一方面,产生疑问也是一方面,为以后知道学习什么留下印象; 一回生,二回熟,看不懂时,大多是因为先验知识不够,没关系,多查多想,总会搞懂的。 学习路线 1.计算机图形学基础(OpenGL基础版)(徐文鹏 清...

惊鸿一博 3291

使用windows系统的net user命令,直接实现开机密码修改!

今天给大家带来一个比较实用的东西,那就是用C语言对电脑的开机密码进行修改,按照正常的方法修改一般会提示你输入原密码,我们今天的方法可以直接修改,话不多说,上代码: #include <stdio.h> #include <stdlib.h> int main(){ char user[100] = {0}; char *username = "用户名"; char *password= "密码"; sprintf(user,"net u...

Hsuesh的博客 4928

【VisDrone数据集】YOLOX训练VisDrone数据集步骤与结果

YOLOX训练VisDrone数据集步骤与结果。

Gorgeous_wxd 2233

从统一入口到运营中枢:全面看懂 SAP for Me 的能力边界、使用方式与项目价值

SAP for Me 是 SAP 推出的统一工作平台,旨在整合原本分散在多个系统中的关键信息与操作。它将许可证管理、系统状态、支持工单、维护合同、产品路线图等核心功能集中到一个界面,为不同角色提供定制化视图。平台包含多个功能模块:Home 作为个性化工作台展示待办事项与风险;Calendar 整合各类维护事件与关键时间节点;Reporting 提供跨域分析与趋势洞察;Finance & Legal 管理订单、发票与合规事项;Portfolio & Products 则展示产品全景与路线图。该

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 120

LintCode 14.二分查找

题目链接 14.二分查找 描述 给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。 难度 简单 样例 样例 1: 输入:[1,4,4,5,7,7,8,9,9,10],1 输出: 0 样例解释: 第一次出现在第0个位置。 样例 2: 输入: [1, 2, 3, 3, 4...

weixin_44502262的博客 371

YOLOv12优化:原创自研 | 带有注意力机制的隐藏状态混合器的状态空间(HSM-SSD),实现暴力涨点 | CVPR2025 EfficientViM

可以将 带有注意力机制的隐藏状态混合器的状态空间(HSM-SSD)中的注意力机制换成专栏其他注意力机制 ,那么你就能实现独一无二的原创。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 664

LintCode 二分查找

在一个排序数组中找一个数,返回该数出现的任意位置,如果不存在,返回-1您在真实的面试中是否遇到过这个题? Yes 样例 给出数组 [1, 2, 2, 4, 5, 5].对于 target = 2, 返回 1 或者 2. 对于 target = 5, 返回 4 或者 5. 对于 target = 6, 返回 -1.class Solution { public: /**

u013174482的博客 242

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

LintCode字符串查找(暴力匹配)java

先从简单的算法开始学吧 下面是领扣上刷到的一道字符串查找题(简单难度的)。 题目:对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1(可以不用KMP算法)。 对于刚接触算法的同学来说,确实简单的暴力匹配算法也可能有困难,那下面给大家简单的讲解一下思路 思路: 两个字符串转换成数组char1(source),char2(target); 两个指针(i,j),分别指向这两个数组的索引

weixin_45787987的博客 323

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

LintCode : 第一个错误的代码版本

LintCode : 第一个错误的代码版本代码库的版本号是从 1 到 n 的整数。某一天,有人提交了错误版本的代码,因此造成自身及之后版本的代码在单元测试中均出错。请找出第一个错误的版本号。你可以通过 isBadVersion 的接口来判断版本号 version 是否在单元测试中出错,具体接口详情和调用方法请见代码的注释部分。二分查找。 /** * class VersionControl {

yaphone的博客 482

lintcode c语言答案,[LintCode] Candy 分糖果问题

There areNchildren standing in a line. Each child is assigned a rating value. You are giving candies to these children subjected to the following requirements: Each child must have at least one cand...

weixin_42541463的博客 1361

lintCode中子树的判断在80%的时候失败

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34395205的博客 77

LintCode 字符串查找(暴力法+KMP)

URL:http://www.lintcode.com/zh-cn/problem/strstr/ 对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。 暴力法: 从文本串的第一个元素开始比对,如果和模式串相符,那么就是返回匹配位置,否则就是返回-1,AC代码:cl

脱离了低级趣味的流氓 2745

LintCode_新手必编程50题(4-6阶段)解答与分析

阶段4 字符串与循环 转换字符串到整数(容易版) emmmm,有点简单粗暴,python自带int()读取字符串 def stringToInteger(self, target): # write your code here return int(target) 大小写转换II join chr(ord© 2.3.5都是一个题型, 仔细品味~ def lowercaseToUppercase2(self, str): # write your code here retu

littleiittlehh的博客 600

LintCode 每日一题 查找数组中没有出现的所有数字

LintCode 每日一题 22.2.16 查找数组中没有出现的所有数字 描述:给定一个整数数组,其中1 ≤ a[i] ≤ n (n =数组的大小),一些元素出现两次,其他元素出现一次。 找到 [1,n] 中所有没有出现在此数组中的元素。 你可以在没有额外空间和O(n)运行时的情况下完成吗? 您可以认为返回的列表不计为额外空间。 js代码: export class Solution { /** * findDisappearedNumbers * * @param nums:

a1792882018的博客 206

【leetcode】unique paths (【lintcode】不同的路径)C语言解

在leetcode中运行成功,但在lintcode中失败了。if(m==0||n==0){ return 0; } int sum[m][n]; for(int i=0;i<m;i++){ sum[i][0]=1; } for(int i=0;i<n;i++){ sum[0][j]=1; } for(int i=1;i<m;i++){ for(int j=1;j<n;j++){

419

【lintcode】5.Kth Largest Element

问题:LintCode 5.Kth Largest ElementFind K-th largest element in an array. NoticeYou can swap elements in the arrayExampleIn array [9,3,2,4,8], the 3rd largest element is 4.In array [1,2,3,4,5], the 1st ...

xuzhouhhy的博客 542

Lintcode: First Bad Version 解题报告

First Bad Version http://lintcode.com/en/problem/first-bad-version The code base version is an integer and start from 1 to n. One day, someone commit a bad version in the code case, so it cause...

weixin_33675507的博客 133

lintcode 1103 · 分割数组为连续子序列【中等 哈希 同力扣659】

【代码】lintcode 1103 · 分割数组为连续子序列【中等 哈希 同力扣659】

weixin_37991016的博客 158
上一篇: 1 · A + B 问题(LintCode,算法,入门)
下一篇: 12492. 级数求和(OJ,入门)
DXB2021
博客等级 码龄5年 307粉丝 289原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值