当前位置: 首页 > 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.pierceye.com/news/746843/

相关文章:

  • discuz 网站搬家网站建设的工具
  • 有做国际网站生意吗做网站义乌
  • 网站开发技术可行性分析怎么写孝感建设公司网站
  • 灯塔网站建设有网站源码怎么做网站
  • 网站设计方案策划德国的网站后缀
  • 可以自己做网站卖东西wordpress标签静态
  • 典当行 网站威海网站推广
  • 佛山市住房建设局网站网站开发业务ppt
  • 页面结构和页面设计优化措施二十条
  • 做网站程序怎么写wordpress漂浮表单
  • 企业网站要怎么建设网站建设 工具
  • wordpress 邮箱激活宁波营销型网站建设优化建站
  • 婚纱网站页面设计广州网站建设推广公司有哪些
  • 网站制作报价大约建设模式有哪些
  • 公司邮箱怎么注册流程如何优化关键词提升相关度
  • 网站建议方案app代运营
  • 北京建机官网查询台州seo全网营销
  • 网站建设书店用户分几类网站建设项目采购公告
  • 如何做企业网站宣传wordpress站内搜索次数
  • 加盟招商推广网站如何做品牌运营与推广
  • 网站做分布式部署湖南平台网站建设设计
  • 沈阳市建设工程项目管理中心网站网络项目网
  • 沈阳网站建设成创输入网址跳到别的网站
  • 课程网站开发建设商务网站的费用
  • 资讯网站优化排名wordpress 删除所有文章
  • 旅游海外推广网站建设方案wordpress外观无法编辑
  • 品牌手表网站网站推广律师关键词有哪些
  • 卖视频会员个人网站怎么做推广网站的图片怎么做
  • 服务器关闭 网站被k微信公众号推广的好处
  • 工业设计招聘信息网站做网站首页轮播图代码