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

上饶网站建设哪家好网络推广公司运作

上饶网站建设哪家好,网络推广公司运作,网站开发环境 对比,网站产品详情用哪个软件做的1.双指针介绍 双指针是解题时一种常见的思路,一般有两种用法。 1)两个指针反方向,分别从数组开头和结尾开始移动,例如对有序数组的搜索。 2)两个指针同方向移动,例如快慢指针,都是从数组开头…

1.双指针介绍

双指针是解题时一种常见的思路,一般有两种用法。

1)两个指针反方向,分别从数组开头和结尾开始移动,例如对有序数组的搜索。

2)两个指针同方向移动,例如快慢指针,都是从数组开头开始遍历,只是速度不一样。

除了用于数组,也可以用于链表,树,图。

2.反向的双指针

力扣icon-default.png?t=N2N8https://leetcode.cn/problems/two-sum-ii-input-array-is-sorted/

因为数组是非递减的,所以可以数组首尾各置一个指针,若值相加大于目标值,则尾指针自减,若值相加小于目标值,则头指针自增,这样就一步步逼近了目标值。

class Solution {
public:vector<int> twoSum(vector<int>& numbers, int target) {int i = 0, j = numbers.size()-1;while(i<j){int t = numbers[i] + numbers[j];if(target==t) return vector<int>({i+1,j+1});else if(target>t){i++;}else{j--;}}return vector<int>();}
};

3.同向的双指针

力扣icon-default.png?t=N2N8https://leetcode.cn/problems/linked-list-cycle-ii/这题有两个要点,先是要判断链表中是否有环,接着是找到环的入口。

判断是否有环,可以用快慢指针。

两个指针同时从起点出发,快指针一次两步,慢指针一次一步。

如果链表中有环,则快慢指针一定会相遇,就像在操场上一直跑圈,速度快的人一定会在某一刻比速度慢的人多跑一圈,所以二人相遇了。

若是快慢指针没有相遇,且快指针指向了NULL,那很明显,就是没有环。

确定链表有环后,就是寻找环的入口了。

可以用题目中的示例来简单理解一下。

下图使用快慢指针,从起点[3]出发,慢指针一次一步,快指针一次两步,很快这两个指针会在节点[-4]相遇。

相遇后,将慢指针移回链表起点[3],快慢指针都一次走一步,两个指针再次相遇的节点[2],就是环的入口。

 一个简单易懂的解释就是:

慢指针路径:起点--环的入口--快慢指针相遇的节点

快指针路径:起点--环的入口--快慢指针相遇的节点--环的入口--快慢指针相遇的节点

因为快指针路径==慢指针路径*2

所以【快慢指针相遇的节点--环的入口--快慢指针相遇的节点】== 【 起点--环的入口--快慢指针相遇的节点】

同时减去【环的入口--快慢指针相遇的节点】

所以【快慢指针相遇的节点--环的入口】== 【 起点--环的入口】

所以找到环得到入口就是将慢指针移到起点,与快指针都是一次一步,直到相遇,相遇节点就是环的入口。

如果还是没有理解的,可以直接搜索【Floyd 判圈法】找动画视频直观理解一下。

代码:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode *detectCycle(ListNode *head) {if(!head) return NULL;ListNode* slow = head, *fast = head;while(slow->next && fast->next && fast->next->next){slow = slow->next;fast = fast->next->next;if(slow==fast){slow = head;while(slow!=fast){slow = slow->next;fast = fast->next;}return slow;}}return NULL;}
};

http://www.tj-hxxt.cn/news/104636.html

相关文章:

  • 黄crm在线上海营销seo
  • bbbt wordpress什么是seo网站优化
  • 动态网站开发 教材百度联盟怎么赚钱
  • 代做毕业设计网站 道路桥梁贴吧推广400一个月
  • 设计网站大全软件百度推广是干什么的
  • 山西免费网站关键词优化排名郑州好的seo外包公司
  • 奥运会网站制作百度搜索一下就知道
  • 泉州专业网站制作公司网站营销方案
  • 做产品展示网站百度指数分析平台
  • html5魔塔长沙seo免费诊断
  • 做网站的企业快速排名优化公司
  • 安逸花借款app下载安装百度优化怎么做
  • python nginx做网站搜索历史记录
  • 如何对django网站做测试女教师遭网课入侵直播录屏曝光i
  • 太原做网站排名如何做好一个营销方案
  • 怎样建设网站论文nba哈登最新消息
  • 网站开发界面关键词优化哪家强
  • 重庆网站建设推广公司百度知道客服电话人工服务
  • 三五互联做网站吗西安发布最新通知
  • 邳州做网站如何快速推广网上国网
  • 编程自学教程入门企业seo排名
  • 建站哪家好用兴田德润南京百度seo排名
  • 郑州建设工程信息网站指数工具
  • 佛山当地网站建设公司数字营销公司排行榜
  • 企业网站建设基本原则搜狐财经峰会直播
  • 制作电子商务网站页面app推广代理
  • 做网站的数据从哪里来小红书关键词排名怎么做
  • 安徽省卫生计生网站医共体建设网站收录网
  • p2vr做的网站怎么再次打开中国最大的企业培训公司
  • 做网站 接单怎么注册一个自己的网站