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

电子商务网站建设方案书的总结skech做网站交互流程

电子商务网站建设方案书的总结,skech做网站交互流程,电脑基础培训班哪里有,电商运营培训多少钱双指针(Two Pointers)是一种常用的算法思想,通过使用两个指针(通常是下标或迭代器)在数组、链表或字符串中协同工作,高效解决一些问题。双指针的核心思想是通过指针的移动来减少时间复杂度,通常…

双指针(Two Pointers)是一种常用的算法思想,通过使用两个指针(通常是下标或迭代器)在数组、链表或字符串中协同工作,高效解决一些问题。双指针的核心思想是通过指针的移动来减少时间复杂度,通常将暴力解法的 O(n²) 优化为 O(n)。


1. 双指针的常见形式

双指针的常见形式包括:

  1. 左右指针
    • 两个指针从两端向中间移动。
    • 适用于有序数组或字符串的问题(如两数之和、反转字符串等)。
  2. 快慢指针
    • 两个指针以不同的速度移动。
    • 适用于链表问题(如判断链表是否有环、找到链表的中间节点等)。
  3. 滑动窗口
    • 两个指针同向移动,维护一个窗口。
    • 适用于子数组或子字符串问题(如最短/最长子数组、无重复字符子串等)。

2. 左右指针

核心思想
  • 两个指针分别指向数组或字符串的两端,根据条件向中间移动。
  • 适用于有序数据。
经典问题
  1. 两数之和

    • 给定一个有序数组和一个目标值,找到两个数使它们的和等于目标值。
    • 代码实现:
      vector<int> twoSum(vector<int>& nums, int target) {int left = 0, right = nums.size() - 1;while (left < right) {int sum = nums[left] + nums[right];if (sum == target) {return {left, right};} else if (sum < target) {left++;} else {right--;}}return {};
      }
      
  2. 反转字符串

    • 给定一个字符数组,将其反转。
    • 代码实现:
      void reverseString(vector<char>& s) {int left = 0, right = s.size() - 1;while (left < right) {swap(s[left], s[right]);left++;right--;}
      }
      

3. 快慢指针

核心思想
  • 两个指针以不同的速度移动,通常用于链表问题。
  • 快指针每次移动两步,慢指针每次移动一步。
经典问题
  1. 判断链表是否有环

    • 使用快慢指针,如果快指针追上慢指针,则链表有环。
    • 代码实现:
      bool hasCycle(ListNode* head) {ListNode* slow = head;ListNode* fast = head;while (fast && fast->next) {slow = slow->next;fast = fast->next->next;if (slow == fast) {return true;}}return false;
      }
      
  2. 找到链表的中间节点

    • 快指针到达链表末尾时,慢指针正好在中间。
    • 代码实现:
      ListNode* middleNode(ListNode* head) {ListNode* slow = head;ListNode* fast = head;while (fast && fast->next) {slow = slow->next;fast = fast->next->next;}return slow;
      }
      

4. 滑动窗口

核心思想
  • 两个指针同向移动,维护一个窗口。
  • 适用于子数组或子字符串问题。
经典问题
  1. 无重复字符的最长子字符串

    • 找到不包含重复字符的最长子字符串。
    • 代码实现:
      int lengthOfLongestSubstring(string s) {int left = 0, right = 0;int max_len = 0;unordered_set<char> window;while (right < s.size()) {if (window.find(s[right]) == window.end()) {window.insert(s[right]);max_len = max(max_len, right - left + 1);right++;} else {window.erase(s[left]);left++;}}return max_len;
      }
      
  2. 和大于等于目标值的最短子数组

    • 找到和大于等于目标值的最短子数组。
    • 代码实现:
      int minSubArrayLen(int target, vector<int>& nums) {int left = 0, right = 0;int sum = 0;int min_len = INT_MAX;while (right < nums.size()) {sum += nums[right];while (sum >= target) {min_len = min(min_len, right - left + 1);sum -= nums[left];left++;}right++;}return min_len == INT_MAX ? 0 : min_len;
      }
      

5. 双指针的适用场景

  1. 有序数组或字符串
    • 左右指针适用于有序数据。
  2. 链表问题
    • 快慢指针适用于链表问题。
  3. 子数组或子字符串问题
    • 滑动窗口适用于子数组或子字符串问题。

6. 总结

  • 双指针是一种高效的算法思想,通过两个指针的协同工作,可以将时间复杂度从 O(n²) 优化为 O(n)。
  • 左右指针、快慢指针和滑动窗口是双指针的常见形式,分别适用于不同的问题场景。
  • 掌握双指针思想,可以高效解决许多数组、链表和字符串相关的问题。

文章转载自:

http://1Q6ajBDS.zycLL.cn
http://O6HJP1pM.zycLL.cn
http://4mqA0Xf7.zycLL.cn
http://iqfHVy9A.zycLL.cn
http://f70O9MH0.zycLL.cn
http://V1EibJoG.zycLL.cn
http://VJQpfomV.zycLL.cn
http://LT7pWekV.zycLL.cn
http://sMfgn2Xq.zycLL.cn
http://Vt52NvZ1.zycLL.cn
http://9ZennxCT.zycLL.cn
http://eG8EFwC7.zycLL.cn
http://JaxD8l2h.zycLL.cn
http://DgQ7UeeN.zycLL.cn
http://nedE9x22.zycLL.cn
http://RKo9Wplp.zycLL.cn
http://yoU0RRwP.zycLL.cn
http://4zsppy67.zycLL.cn
http://sBpKuvt9.zycLL.cn
http://MWg5KBq9.zycLL.cn
http://PYLEVOiI.zycLL.cn
http://PNNu4MKr.zycLL.cn
http://QIuifdj8.zycLL.cn
http://VvN5KXRC.zycLL.cn
http://1PAUMcrv.zycLL.cn
http://KqCDB512.zycLL.cn
http://E8jeZLj2.zycLL.cn
http://hyfFIQy6.zycLL.cn
http://CSbZJcf8.zycLL.cn
http://D0d5ZGfx.zycLL.cn
http://www.dtcms.com/wzjs/761287.html

相关文章:

  • 淮北矿业工程建设公司网站提供设计的的网站
  • 网站设计都用什么字体wordpress调用图片路径
  • 网站通过微信支付宝收钱怎么做手机百度官网
  • 电子商务网站推广策略论文网络销售是做网站推广
  • 网站简繁体转换.rar如何制作一个网站包含多个网页
  • 装修公司做宣传在哪个网站网站开发项目经理招聘
  • 网站开发怎么收客户费自建网站去除html
  • 网站seo外链平台什么做网站推广
  • 网站数据链接怎么做建设一个网站的费用构成
  • 网站制作公司知道万维科技2345网址导航手机
  • 网站快速优化排名推荐建网站的公司哪里好
  • 实验建设网站 南京林业大学如何做自己的播报网站
  • 亳州电商网站建设网络运维是干什么的
  • 阿里云怎么创建网站什么是互联网行业
  • 做装修效果图的网站有哪些怎样开发一个管理系统
  • 网站宣传海报品牌建设口号
  • 站长工具国产2022wordpress动态
  • 网站搭建心得开发手机app多少钱
  • 自己的网站怎么做商城手机销售网站建设项目书
  • 网站找到后台了 如何破解账号 密码qq在线登录直接登录
  • 个人网站设计需求分析南宁比优建站
  • 绍兴柯桥哪里有做网站的互联网广告营销公司
  • 广州市企业网站建设企业城阳在线网站建设
  • 茂名做网站dyiee什么情况下需要建设网站
  • 高端网站建设工作室wordpress图片缩略图不显示图片
  • 系统的网站建设教程赣州seo顾问
  • 去哪优化网站关键词wordpress互动插件
  • 中英文网站建站wordpress 前台注册
  • 互动营销网站建设做网站定位
  • 摄像机怎么在自己家网站做直播骏域网站建设专家东莞