当前位置: 首页 > news >正文

网站是生成静态好还是动态好网站开启gzip压缩

网站是生成静态好还是动态好,网站开启gzip压缩,金环建设集团网站,上海网址导航文章目录 写在前面Tag题目来源题目解读方法一#xff1a;二分查找方法二#xff1a;使用库函数 知识回顾二分查找的三种写法与三个问题常用的二分库函数 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法#xff0c;两到三天更新一篇文章#xff0c;欢迎催更…… 文章目录 写在前面Tag题目来源题目解读方法一二分查找方法二使用库函数 知识回顾二分查找的三种写法与三个问题常用的二分库函数 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法两到三天更新一篇文章欢迎催更…… 专栏内容以分析题目为主并附带一些对于本题涉及到的数据结构等内容进行回顾与总结文章结构大致如下部分内容会有增删 Tag介绍本题牵涉到的知识点、数据结构题目来源贴上题目的链接方便大家查找题目并完成练习题目解读复述题目确保自己真的理解题目意思并强调一些题目重点信息解题思路介绍一些解题思路每种解题思路包括思路讲解、实现代码以及复杂度分析知识回忆针对今天介绍的题目中的重点内容、数据结构进行回顾总结。 Tag 【数组】【二分查找】 题目来源 34. 在排序数组中查找元素的第一个和最后一个位置 题目解读 方法一二分查找 对于有序数组中搜索指定元素问题我们应该优先想到二分查找方法。题目有要求解法的时间复杂度必须为 O ( l o g n ) O(logn) O(logn)那本题基本确定需要使用二分查找法解题。 思路 我们只需要写出一个函数找出数组中 target 第一次出现的位置。使用二分查找轻松实现。还有一些实现细节见代码中的注释。 代码 class Solution { public:// 【闭区间写法】找出 nums[i] target 的最小的 iint lower_bound(const vectorint nums, int target) {int left 0, right nums.size() - 1;while (left right) { // 区间不为空// 注意指针的指向变化int mid left ((right - left) 1);if (nums[mid] target) {left mid 1;}else {right mid - 1;}}return left;}vectorint searchRange(vectorint nums, int target) {int start lower_bound(nums, target);if (start nums.size() || nums[start] ! target) {return {-1, -1};}// 如果 start 存在那么 end 必定存在int end lower_bound(nums, target 1) - 1;return {start, end};} };复杂度分析 时间复杂度 O ( l o g n ) O(logn) O(logn)。 空间复杂度 O ( 1 ) O(1) O(1)。 方法二使用库函数 对于上述手写二分查找的函数C 标准库中有对应的函数 lower_bound \texttt{lower\_bound} lower_bound 实现相同的功能。不论是库函数还是手写二分查找都需要掌握。 代码 class Solution { public:vectorint searchRange(vectorint nums, int target) {int start lower_bound(nums.begin(), nums.end(), target) - nums.begin();if (start nums.size() || nums[start] ! target) {return {-1, -1};}int end lower_bound(nums.begin(), nums.end(), target 1) - nums.begin() - 1;return {start, end};} };知识回顾 二分查找的三种写法与三个问题 二分查找有三种写法闭区间、左闭右开和开区间写法无论是哪种写法始终都要关注三个问题 何时退出循环二分查找据此有了三种写法指针如何移动最后返回什么 关于以上三种写法与三个问题可以参考 【面试经典 150 | 二分查找】搜索插入位置。 常用的二分库函数 lower_bound(beg, end, val) \texttt{lower\_bound(beg, end, val)} lower_bound(beg, end, val) 返回一个迭代器表示 第一个不小于大于等于 val 的元素如果不存在这样的元素则返回 end 迭代器。 upper_bound(beg, end, val) \texttt{upper\_bound(beg, end, val)} upper_bound(beg, end, val) 返回一个迭代器表示 第一个大于 val 的元素如果不存在这样的元素则返回 end 迭代器。 equal_range(beg, end, val) \texttt{equal\_range(beg, end, val)} equal_range(beg, end, val) 返回一个 pair其 first 成员是 lower_bound \texttt{lower\_bound} lower_bound 返回的迭代器second 成员是 upper_bound \texttt{upper\_bound} upper_bound 返回的迭代器。 binary_search(beg, end, val) \texttt{binary\_search(beg, end, val)} binary_search(beg, end, val) 返回一个 bool 值指出序列中是否包含等于 val 的值。 以上每一个函数都提供一个第二版本这个版本可以自定义比较操作。 写在最后 如果您发现文章有任何错误或者对文章有任何疑问欢迎私信博主或者在评论区指出 。 如果大家有更优的时间、空间复杂度的方法欢迎评论区交流。 最后感谢您的阅读如果有所收获的话可以给我点一个 哦。
http://www.zqtcl.cn/news/746843/

相关文章:

  • 怎么做网站的seo排名知乎茂名网站制作公司
  • 建安证查询网站官方网站建设对比
  • 关于医院要求建设网站的请示市场推广12种推广渠道
  • php做不了大型网站深圳公司注册网址官方
  • 网站副标题怎么写杭州抖音代运营
  • 网站建设基本资料网站数据库连接出错
  • 娄底网站开发温州seo排名公司
  • 成都有哪些网站开发公司最新网推项目
  • 分享公众号的网站小型企业类网站开发公司
  • 青岛网站建设方案案例wordpress主题模板 国人
  • 哪家高端网站建设好贷款织梦网站模板
  • 北京网站建设公司价格最近中文字幕2018免费版2019
  • 帮人做设计的网站自己怎么做新闻开头视频网站
  • 网站开发搜索功能中国建设银行ie下载网站
  • 中山网站建设 骏域网站的形式有哪些
  • 深圳企业网站重庆建站塔山双喜
  • 征婚网站 女 做茶叶生意企业网站推广服务协议
  • 安徽省住房城乡建设厅网站官网英语机构网站建设方案
  • 电商建站价格深圳龙岗建站公司
  • 可以下载源程序的网站.htaccess wordpress
  • 国内优秀设计网站小程序推广方案
  • 网站构建是什么意思怎么做网站盗号
  • 学校网站建设行业现状wordpress怎么保存图片
  • 网站 框架网页建设title:(网站建设)
  • 素材网站推广方案安卓端开发
  • 网站制作可以询价么168推广
  • 河南城乡和住房建设厅网站网络营销的主要特点有哪些
  • 哪些网站可以做自媒体wordpress 左侧
  • joomla! 1.5 网站建设基础教程丹阳网站推广
  • 中国建设银行山东省分行网站怎么做网站制作