网站建设资金申请报告php做网站不兼容ie8

张小明 2026/1/12 21:27:12
网站建设资金申请报告,php做网站不兼容ie8,淘宝网站建设素材,天津seo公司排名题目链接#xff1a;LeetCode 34 - Find First and Last Position of Element in Sorted Array。leetcode​ 题目大意#xff1a;给定一个按非递减顺序排序的整数数组 nums#xff0c;和一个目标值 target#xff0c;要求在数组中找到 target 出现的第一个位置和最后一个位…题目链接LeetCode 34 - Find First and Last Position of Element in Sorted Array。leetcode​题目大意给定一个按非递减顺序排序的整数数组 nums和一个目标值 target要求在数组中找到 target 出现的第一个位置和最后一个位置返回 [start, end]。如果不存在返回 [-1, -1]并且算法时间复杂度必须是 O(log⁡n)O(\log n)O(logn)。leetcode​最朴素的想法先找到一个再往两边扫一开始的直觉很自然先用二分查找找到某个 mid使得 nums[mid] target。从 mid 向左扫直到遇到第一个不等于 target 的位置前一个就是 start。从 mid 向右扫直到遇到第一个不等于 target 的位置前一个就是 end。这个思路在正确性上没问题但有一个明显的问题在极端情况下比如 nums [8,8,8,8,8,8]虽然找到一个 8 用了 O(log⁡n)O(\log n)O(logn)但是向左、向右的线性扫描又回到了 O(n)O(n)O(n)。综合起来最坏复杂度是 O(n)O(n)O(n)不满足题目要求的 O(log⁡n)O(\log n)O(logn)。所以向两边线性扫是不行的必须连找左右边界这一步也用二分来做。改进方向用二分专门找边界既然数组有序而且要 O(log⁡n)O(\log n)O(logn)自然想到不仅要用二分找一个 target还要用改造过的二分去分别找最左和最右的 target。这里有两个关键的小问题找左边界时nums[mid] target 时怎么办不能直接返回因为左边可能还有 target。正确做法是记录当前 mid 是一个候选答案然后把 right 收缩到 mid - 1继续往左找。找右边界是不是对称的是的找右边界时nums[mid] target 时记录答案然后把 left 收缩到 mid 1继续往右找。所以思路变成写一个 find_start_position尽量往左压缩找到第一个等于 target 的位置。写一个 find_end_position尽量往右压缩找到最后一个等于 target 的位置。每个函数内部都是一次完整的二分整体只做了常数次二分复杂度是 2⋅log⁡n2 \cdot \log n2⋅logn在大 O 记号下仍然是 O(log⁡n)O(\log n)O(logn)完全符合要求。enjoyalgorithms1​关于2 次二分是不是超了 O(log n)从渐进复杂度的角度2⋅log⁡n2 \cdot \log n2⋅logn、3⋅log⁡n3 \cdot \log n3⋅logn 等都写作 O(log⁡n)O(\log n)O(logn)常数因子会被忽略。enjoyalgorithms​实际上很多官方题解和主流题解就是 “两次边界二分”第一次找左边界第二次找右边界这一点在面试中是完全没有问题的。最终实现两个边界二分函数下面是用 C 写的完整代码拆成三个函数find_start_position找左边界。find_end_position找右边界。searchRange主函数负责处理空数组、调用两个二分并返回结果。代码如下intfind_end_position(int*nums,intnumsSize,inttarget){intleft,right,mid,end_position;left0;rightnumsSize-1;end_position-1;while(leftright){midleft(right-left)/2;if(nums[mid]target){end_positionmid;leftmid1;}elseif(nums[mid]target){leftmid1;}else{// nums[mid] targetrightmid-1;}}returnend_position;}intfind_start_position(int*nums,intnumsSize,inttarget){intleft,right,mid,start_position;left0;rightnumsSize-1;start_position-1;while(leftright){midleft(right-left)/2;if(nums[mid]target){start_positionmid;rightmid-1;}elseif(nums[mid]target){leftmid1;}else{// nums[mid] targetrightmid-1;}}returnstart_position;}/** * Note: The returned array must be malloced, assume caller calls free(). */int*searchRange(int*nums,intnumsSize,inttarget,int*returnSize){intstart_position,end_position;int*result;result(int*)malloc(2*sizeof(int));if(!nums||!numsSize){result[0]-1;result[1]-1;*returnSize2;returnresult;}start_positionfind_start_position(nums,numsSize,target);end_positionfind_end_position(nums,numsSize,target);result[0]start_position;result[1]end_position;*returnSize2;returnresult;}这份代码在 LeetCode 上可以通过所有用例实际提交记录用例88 / 88 全部通过。运行时间0 ms击败 100% 提交。内存使用9.82 MB。leetcode​小结这道题教会了什么这道题的关键不在会不会写二分而在于能否把找到一个 target提升为找到一段 target 的边界知道 边界二分的典型写法命中 target 时不要停而是继续压缩一端能清楚解释为什么两次二分仍然是 O(log⁡n)O(\log n)O(logn)“通过自己一步步把线性往两边扫的想法改进为左右边界都用二分”是一个很典型的从直觉解到最优解的思考路径。如果想把这个模式记牢可以再去刷几道类似的找第一次 / 最后一次出现位置的题尽量统一成一套找左边界 / 右边界的模板会在面试里非常加分。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站访问慢原因长沙最新招聘信息

随着远程办公模式的普及,客服团队的地域分散化成为常态,随之而来的信息孤岛、响应延迟、服务标准不统一、监管失效等问题,严重影响服务质量与客户体验。一套具备高效协同与精准监管能力的客服系统,成为破解分散团队管理困境的核心…

张小明 2026/1/10 15:18:09 网站建设

淅川微网站开发湖南省建设部网站

城通网盘直连解析工具:5分钟快速获取高速下载地址的完整教程 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘的龟速下载而烦恼吗?😫 每天面对几十KB的…

张小明 2026/1/8 1:47:57 网站建设

定制网站开发的目的是什么wordpress虾米

无需人工标注!智谱开源AndroidGen-Llama-3-70B,安卓智能代理成功率达68%接近人类水平 【免费下载链接】androidgen-llama-3-70b 项目地址: https://ai.gitcode.com/zai-org/androidgen-llama-3-70b 你是否还在为手机AI助手无法跨应用完成复杂任务…

张小明 2026/1/7 20:51:13 网站建设

apache添加多个网站做电影下载网站成本

目录 Spring Boot统一功能处理详解 1. 拦截器详解 1.1 什么是拦截器 1.2 拦截器快速入门 1.2.1 定义拦截器 1.2.2 注册配置拦截器 1.2.3 拦截器执行流程 1.3 拦截器详解 1.3.1 拦截路径配置 1.3.2 登录校验拦截器实现 1.4 DispatcherServlet源码分析 1.4.1 什么是D…

张小明 2026/1/7 14:24:20 网站建设

m开头的网站开发工具台州做网站建设

第一章:Open-AutoGLM与TestComplete的行业定位对比在自动化测试与智能代码生成领域,Open-AutoGLM 与 TestComplete 代表了两种截然不同的技术路径与市场定位。前者聚焦于利用大语言模型实现测试脚本的自动生成与优化,后者则是传统企业级自动化…

张小明 2026/1/7 13:25:48 网站建设

做网站的技术盏wordpress 二次开发 pdf

温馨提示:文末有资源获取方式技术壁垒曾经是普通人接触前沿人工智能的最大障碍。如今,这一壁垒已被彻底打破。一款功能全面、能力卓越的AI智能助理系统源码的出现,标志着“技术平权”进入了新阶段。它让您无需组建昂贵的技术团队,…

张小明 2026/1/8 0:14:25 网站建设