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

Leetcode算法入门与数组丨6. 数组双指针、滑动窗口

文章目录

    • 1 双指针基础知识
      • 1.1 双指针简介
      • 1.2 左右指针(对撞指针)
      • 1.3 快慢指针
      • 1.4 分离双指针
    • 2 滑动窗口基础知识
      • 2.1 滑动窗口算法介绍
      • 2.2 滑动窗口适用范围
      • 2.3 固定长度滑动窗口
      • 2.4 不固定长度滑动窗口

1 双指针基础知识

1.1 双指针简介

双指针(Two Pointers) 是一种常用的算法技巧,通常用于在数组或链表中进行遍历或搜索。它使用两个指针在不同的位置上移动,以解决特定的问题。

双指针常见的应用场景包括:

  1. 快慢指针:两个指针方向相同,但是使用两个指针以不同的速度遍历链表,用于解决链表中的环检测、链表中点、链表倒数第k个节点等问题。
  2. 左右指针(对撞指针):在有序数组中,使用两个指针从数组的两端向中间移动,以解决查找目标值、两数之和、三数之和等问题。
  3. 分离双指针:两个指针分别属于不同的数组/链表。

双指针算法通常具有较低的时间复杂度,并且可以在一次遍历中完成任务,因此在很多问题中都有很好的应用。

1.2 左右指针(对撞指针)

左右指针(Left and Right Pointers)是双指针算法中的一种常见技巧。它通常用于在有序数组或字符串中查找目标值、寻找满足某种条件的子序列等问题。

左右指针的基本思想是,使用两个指针分别指向数组或字符串的左右两端,然后根据问题的要求,通过移动指针的位置来逼近或搜索目标。

基本步骤

  1. 两个指针 l e f t left left r i g h t right right l e f t left left 指向序列第一个元素( l e f t = 0 left=0 left=0 ), r i g h t right right 指向序列最后一个元素( r i g h t = l e n ( n u m s ) − 1 right=len(nums)-1 right=len(nums)1 )。
  2. 循环体中将左右指针相向移动,当满足一定条件时,将左指针右移( l e f t + = 1 left += 1 left+=1 )。当满足另外一定条件时,将右指针左移( r i g h t + = 1 right+= 1 right+=1 )。
  3. 直到两个指针相撞( l e f t = r i g h t left=right left=right ),或者满足其他要求的特殊条件时,跳出循环体。

伪代码模板

left, right = 0, len(nums) - 1while left < right:if 满足要求的特殊条件:return 符合条件的值 elif 一定条件 1:left += 1elif 一定条件 2:right -= 1return 没找到 或 找到对应值

适用范围

  1. 有序数组或有序链表:左右指针可以在有序数组或有序链表中进行查找、搜索、比较等操作。通过左右指针的移动,可以快速定位目标值或满足特定条件的元素。

  2. 滑动窗口问题:滑动窗口问题通常涉及在数组或字符串上定义一个窗口,并通过移动窗口的左右边界来解决问题。左右指针可以用于表示窗口的左右边界,并根据问题的要求进行移动和调整。

  3. 两数之和、三数之和等问题:在有序数组中查找满足特定条件的数对或数组合时,左右指针可以进行逼近,快速找到满足条件的解。

  4. 回文字符串判断:左右指针可以用于判断字符串是否是回文字符串。通过左右指针从两端向中间移动,并比较对应位置的字符是否相等,可以判断字符串是否是回文。

1.3 快慢指针

快慢指针(Fast and Slow Pointers)基本思想是使用两个指针,一个指针(快指针 fast)移动速度较快,另一个指针(慢指针 slow)移动速度较慢。通过两个指针的相对移动,可以得到一些有用的信息,从而解决问题。

基本步骤

  1. 初始化快慢指针:将快指针和慢指针都指向链表的头节点或数组的起始位置。 s l o w = 0 , f a s t = 1 或 0 slow=0, fast=1 或 0 slow=0,fast=10

  2. 移动指针:根据问题的要求,通过移动快慢指针来逼近目标或获取有用的信息。

    • 快指针移动:通常每次移动两步或一步,可以快速遍历整个链表或数组。 f a s t + = 1 fast +=1 fast+=1
    • 慢指针移动:通常每次移动一步,慢指针的移动速度较慢。 s l o w + = 1 slow+=1 slow+=1
  3. 判断终止条件:根据问题的要求,判断是否满足终止条件。

    • 例如,在链表中环检测问题中,如果快指针和慢指针相遇,则存在环;如果快指针到达链表末尾,则不存在环。
  4. 根据问题的要求返回结果。

    • 例如,在链表中找到中间节点的问题中,当快指针到达链表末尾时,慢指针所指的节点就是中间节点。

伪代码模板

slow = 0
fast = 1
while 没有遍历完:if 满足要求的特殊条件:slow += 1fast += 1
return 合适的值

适用范围

  1. 链表中的环检测:快慢指针可以用于判断链表中是否存在环。快指针每次移动两步,慢指针每次移动一步,如果链表中存在环,则快指针最终会追上慢指针,二者相遇。

  2. 链表中点的查找:快慢指针可以用于找到链表的中间节点。快指针每次移动两步,慢指针每次移动一步,当快指针到达链表末尾时,慢指针正好在链表的中间位置。

  3. 链表倒数第k个节点的查找:快慢指针可以用于定位链表的倒数第k个节点。快指针先移动k个位置,然后快慢指针同时向前移动,当快指针到达链表末尾时,慢指针所指的节点就是倒数第k个节点。

  4. 判断链表是否有交点:快慢指针可以用于判断两个链表是否相交。分别使用快慢指针遍历两个链表,如果两个链表相交,则快指针和慢指针最终会相遇。

  5. 数组中的重复元素查找:快慢指针可以用于在数组中查找重复元素。通过快慢指针的移动,可以找到数组中的重复元素或判断数组是否存在重复元素。

1.4 分离双指针

分离双指针(Two Pointers with Separation)是一种双指针算法的变体,它通常用于解决数组或链表中需要分离的问题,例如将奇偶数分离、将0和非0元素分离等。分离双指针的基本思想是使用两个指针,一个指针(分离指针)用于分离元素,另一个指针(遍历指针)用于遍历数组或链表。通过移动遍历指针,并根据特定条件将元素交换到分离指针的位置,实现元素的分离。

基本步骤

  1. 两个指针 l e f t 1 left_1 left1 l e f t 2 left_2 left2 l e f t 1 left_1 left1 指向第一个数组的第一个元素( l e f t 1 = 0 left_1=0 left1=0), l e f t 2 left_2 left2 指向第二个数组的第一个元素( l e f t 2 = 0 left_2=0 left2=0)。

  2. 当满足一定条件时

    1. 两个指针同时右移, l e f t 1 + = 1 、 l e f t 2 + = 1 left_1 += 1、left_2 += 1 left1+=1left2+=1

    2. l e f t 1 left_1 left1 右移, l e f t 1 + = 1 left_1 += 1 left1+=1

    3. l e f t 2 left_2 left2 右移, l e f t 2 + = 1 left_2 += 1 left2+=1

  3. 当其中一个数组遍历完时或者满足其他特殊条件时跳出循环体。

伪代码模板

left_1 = 0
left_2 = 0while left_1 < len(nums1) and left_2 < len(nums2):if 一定条件 1:left_1 += 1left_2 += 1elif 一定条件 2:left_1 += 1elif 一定条件 3:left_2 += 1

适用范围

分离双指针一般用于处理有序数组合并,求交集、并集问题

349. 两个数组的交集 - 力扣(LeetCode)

在这里插入图片描述

思路:分离双指针

  1. 两个数组先排序。( n u m s 1 、 n u m s 2 nums1、nums2 nums1nums2
  2. 使用两个指针分别指向两个数组的第一个元素,即第一个指针指向第一个数组的第一个元素,第二个指针指向第二个数组的第一个元素。( l e f t 1 = 0 、 l e f t 2 = 0 left_1=0、left_2=0 left1=0left2=0
  3. 如果 n u m s 1 [ l e f t 1 ] = = n u m s 2 [ l e f t 2 ] nums1[left_1]==nums2[left_2] nums1[left1]==nums2[left2] 则将其加入答案数组(注意去重),并将 l e f t 1 left_1 left1 l e f t 2 = 0 left_2=0 left2=0 右移 ( l e f t 1 + = 1 left_1 += 1 left1+=1 l e f t 2 + = 1 left_2 += 1 left2+=1)。
  4. 如果 n u m s 1 [ l e f t 1 ] < n u m s 2 [ l e f t 2 ] nums1[left_1] < nums2[left_2] nums1[left1]<nums2[left2] ,则 l e f t 1 left_1 left1 右移 。
  5. 如果 n u m s 1 [ l e f t 1 ] > n u m s 2 [ l e f t 2 ] nums1[left_1] > nums2[left_2] nums1[left1]>nums2[left2] ,则 l e f t 2 left_2 left2 右移 。
  6. 返回答案。

代码

class Solution:def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:nums1.sort()nums2.sort()left_1 = 0left_2 = 0res = []while left_1 < len(nums1) and left_2 < len(nums2):if nums1[left_1] == nums2[left_2]:if nums1[left_1] not in res:res.append(nums1[left_1])left_1 += 1left_2 += 1elif nums1[left_1] < nums2[left_2]:left_1 += 1elif nums1[left_1] > nums2[left_2]:left_2 += 1return res

在这里插入图片描述

2 滑动窗口基础知识

2.1 滑动窗口算法介绍

滑动窗口算法(Sliding Window Algorithm)是一种常用的算法技巧,用于解决数组或字符串相关的问题。它的基本思想是维护一个窗口,通过在数组或字符串上滑动窗口,不断更新窗口内的状态,从而解决问题。可以对窗口进行滑动操作、缩放操作,以及维护最优解操作。

  • 滑动操作:窗口向一个方向移动,常见的是向右侧移动。
  • 缩放操作:针对不固定长度的窗口,可以从左侧缩小窗口长度,也可以从右侧扩大窗口长度。

2.2 滑动窗口适用范围

滑动窗口算法通常适用于线性数据结构,如数组和字符串。它在处理大规模数据时特别有用,因为它可以通过滑动窗口的方式,仅对部分数据进行处理,而不需要遍历整个数据集。这使得滑动窗口算法具有较低的时间复杂度,并且在实际应用中常常能够提供高效的解决方案。

按照窗口长度的固定情况,我们可以将滑动窗口题目分为以下两种:

  • 固定长度窗口:窗口大小是固定的。

  • 不定长度窗口

    • 窗口大小是不固定的。

    • 求解最大的满足条件的窗口。

    • 求解最小的满足条件的窗口。

2.3 固定长度滑动窗口

固定长度滑动窗口是一种特殊的滑动窗口算法,它的窗口大小固定,不会随着数据集的变化而变化。该算法通常用于需要对连续的数据序列进行处理的问题,如时间序列数据分析等。

固定长度滑动窗口的基本思想是:将数据序列分成若干个固定长度的子序列,然后对每个子序列进行处理。在处理每个子序列时,可以使用滑动窗口算法,通过移动窗口来更新子序列内的状态,从而得到最终的结果。

基本步骤

固定长度滑动窗口的步骤如下:

  1. 初始化窗口的起始位置和结束位置,窗口大小固定。
  2. 对于每个窗口内的子序列,根据问题要求更新窗口内的状态。
  3. 如果窗口满足特定条件,记录结果。
  4. 继续移动窗口的起始位置,重复上述步骤,直到遍历完整个数据集。

代码模板

left = 0
right = 0while right < len(nums):window.append(nums[right])# 超过窗口大小时,缩小窗口,维护窗口中始终为 window_size 的长度if right - left + 1 >= window_size:# ... 维护答案window.popleft()left += 1# 向右侧增大窗口right += 1

2.4 不固定长度滑动窗口

不定长度滑动窗口算法(Sliding Window):在给定数组 / 字符串上维护一个不定长度的窗口。可以对窗口进行滑动操作、缩放操作,以及维护最优解操作。

基本步骤

  1. 使用两个指针 l e f t left left r i g h t right right。初始时, l e f t left left r i g h t right right 都指向序列的第一个元素。即: l e f t = 0 left=0 left=0 r i g h t = 0 right=0 right=0,区间 [ l e f t , r i g h t ] [left,right] [left,right] 被称为一个「窗口」。
  2. 将区间最右侧元素添加入窗口中,即 window.add(s[right])
  3. 然后向右移动 r i g h t right right,从而增大窗口长度,即 right += 1。直到窗口中的连续元素满足要求。
  4. 此时,停止增加窗口大小。转向不断将左侧元素移出窗口,即 window.popleft(s[left])
  5. 然后向右移动 l e f t left left,从而缩小窗口长度,即 left += 1。直到窗口中的连续元素不再满足要求。
  6. 重复 2 ~ 5 步,直到 r i g h t right right 到达序列末尾。

代码模板

left = 0
right = 0while right < len(nums):window.append(nums[right])while 窗口需要缩小:# ... 可维护答案window.popleft()left += 1# 向右侧增大窗口right += 1

参考文献

  • [1] https://datawhalechina.github.io/leetcode-notes/#/

—— END ——


如果以上内容有任何错误或者不准确的地方,欢迎在下面 👇 留言。或者你有更好的想法,欢迎一起交流学习~~~

更多精彩内容请前往 AXYZdong的博客

相关文章:

Leetcode算法入门与数组丨6. 数组双指针、滑动窗口

文章目录 1 双指针基础知识1.1 双指针简介1.2 左右指针&#xff08;对撞指针&#xff09;1.3 快慢指针1.4 分离双指针 2 滑动窗口基础知识2.1 滑动窗口算法介绍2.2 滑动窗口适用范围2.3 固定长度滑动窗口2.4 不固定长度滑动窗口 1 双指针基础知识 1.1 双指针简介 双指针&…...

推荐一本书《横向领导力》

大家好&#xff0c;这里是大话硬件。 今天想给大家推荐一本我近期正在阅读的书籍《横向领导力》。 这本书很早就买了&#xff0c;但是在去年就看了前面3章的内容&#xff0c;而且也没做笔记&#xff0c;仅仅是在书本上写写画画&#xff0c;也没有什么体会&#xff0c;感觉看不懂…...

React实战过程的知识了解

做项目用到react和antd&#xff0c;没办法循序渐进的学习&#xff0c;只能把一些点记录在这里&#xff0c;希望大家指正。 1.杂七杂八 正文 //actionRef&#xff0c;操作表单的预设方法&#xff0c;包括&#xff1a;刷新、重置所有项并刷新、重置到默认项、加载更多、清空选…...

F对象和Q对象

F对象和Q对象 F对象 一个F对象代表数据库中某条记录的字段的信息 作用: 通常是对数据库中的字段值在不获取的情况下进行操作 用于类属性(字段)之间的比较 语法 from django.db.models import F F(列名)解决一种极端事件的产生&#xff0c;比如用户对一条微博的点赞&#xf…...

Visio——绘制倾斜线段

一、形状 -> 图表和数学图形 -> 多行 二、放置多行线&#xff0c;可以发现存在两个折点 三、选择多行线&#xff0c;右键选择删除点&#xff0c;即可得到倾斜线段...

Linux复习-安装与熟悉环境(一)

这里写目录标题 虚拟机ubuntu系统配置镜像Linux命令vi编辑器3个模式光标命令vi模式切换命令vi拷贝与粘贴命令vi保存和退出命令vi的查找命令vi替换命令 末行模式复制、粘贴、剪切gcc编译器 虚拟机 VMware16 官网下载&#xff1a;vmware官网 网盘下载&#xff1a; 链接&#xff…...

Go基础语法:map

9 map Go 语言中提供的映射关系容器为 map &#xff0c;其内部使用 散列表&#xff08;hash&#xff09; 实现。它是一种无序的基于 key-value 的数据结构。 Go 语言中的 map 是引用类型&#xff0c;必须初始化之后才能使用。 9.1 map 定义 Go 语言中 map 的定义语法为&…...

开发板TFTP调试

问题描述 开发板和host(此处指虚拟机linux)可以平通&#xff0c;但是通过uboot tftp下载请求时一直显示T T T, 即超时 使用wireshark抓包也显示超时 措施 关闭windows和linux的防火墙 重新进行下载成功...

MySQL---优化日志

目录 一、MySQL优化 3、mysql server上的优化 3.1、MySQL查询缓存 3.2、索引和数据缓存 3.2、线程缓存 二、MySQL日志 2.1、redo log 重做日志 2.2、undo log 回滚日志 2.3、错误日志 2.4、查询日志 2.5、二进制日志 2.5.1、基于binlog数据恢复实践操作 六、慢查…...

【送面试题】深入解析Cookie和Session的请求区别及使用场景

AI绘画关于SD,MJ,GPT,SDXL百科全书 面试题分享点我直达 2023Python面试题 2023最新面试合集链接 2023大厂面试题PDF 面试题PDF版本 java、python面试题 项目实战:AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI…...

010_第一代软件开发(二)

第一代软件开发(二) 文章目录 第一代软件开发(二)项目介绍界面布局功能完善快照功能获取可用串口播放按键提示音 关键字&#xff1a; Qt、 Qml、 QSerialPort、 QPixmap、 QSoundEffect 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这个项目结合了 QML&#xff…...

基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(四)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 上一节说到待办系统的监听器TaskCreateListener&#xff0c;需要在flowable全局监听配置里加入配置 1、Glo…...

RestTemplate:简化HTTP请求的强大工具

文章目录 什么是RestTemplateRestTemplate的作用代码示例 RestTemplate与HttpClient 什么是RestTemplate RestTemplate是一个在Java应用程序中发送RESTful HTTP请求的强大工具。本文将介绍RestTemplate的定义、作用以及与HttpClient的对比&#xff0c;以帮助读者更好地理解和使…...

【数据结构】什么是数据结构?

数据结构(Data Structure)是计算机存储,组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合. 这么讲可能有些抽象,放一张图大家可能好理解一点: 上图依次是数据结构中逻辑结构中的:集合结构,线性结构,树形结构,图形结构. 而: 数据结构是一门研究非数值计算的程…...

c++源码编译过程(翻译阶段)的若干细节概要

c程序的编译主要包含两个阶段&#xff1a;源码编译(翻译阶段)和目标文件链接。 源码编译过程主要有如下这些阶段&#xff1a; 阶段1: 翻译源码文本字符 阶段2: 逻辑源码行标准化处理 阶段3: 文法处理&#xff0c;分解为不同的源码文本类型序列。例如分解为注释、预处理指…...

Go内置函数make和new的区别?

首先纠正一下make 和 new 是内置函数&#xff0c;不是关键字。 变量初始化&#xff0c;一般分为2步&#xff0c;变量声明变量内存分配&#xff0c;var 关键字就是用来声明变量的&#xff0c;new和make 函数主要是用来分配内存的。 var 声明值类型的变量时&#xff0c;系统会默…...

动手学深度学习(pytorch版)第二章-2.3线性代数Note-linear-algebra

类型 标量&#xff1a;仅包含一个数值被称为标量 向量&#xff1a;向量可以被视为标量值组成的列表 矩阵&#xff1a;正如向量将标量从零阶推广到一阶&#xff0c;矩阵将向量从一阶推广到二阶。 A torch.arange(20).reshape(5, 4) A.T //转置 张量&#xff1a;是描述具有…...

Docker CMD指令如何覆写

在Dockerfile里,CMD指令是可以被覆盖的。 在构建镜像时,可以通过docker build命令的–cmd选项覆盖Dockerfile的CMD: 例如: FROM ubuntu CMD ["echo","hello"]构建时覆盖CMD: docker build -t test --cmd "echo world" .在创建容器时,可以通过…...

动手吧,vue单独使用的复选框

单独使用的复选框可以用在两个状态之间的切换&#xff0c;如是否阅读协议、记住账号等场景。 效果&#xff1a; 1、template部分 <template><label class"v-checkbox-single"><span class"v-checkbox_input" :class"{ disabled }&qu…...

升级iOS17后可以降级吗?iOS17退回iOS16方法教程分享

iOS 17已上线几天&#xff0c;从网上用户的反馈和媒体机构的报告来看&#xff0c;iOS17系统对旧机型来说并不友好&#xff0c;除了电池续航下降以外&#xff0c;占用大量储存空间&#xff0c;BUG也不少。 苹果于 9 月 7 日发布了 iOS 16.6.1 版本&#xff0c;如果升级iOS17后发…...

基于STM32和LORA组网的养老院智能控制系统设计(第十八届研电赛)

一、整体功能 数据采集从机1采集烟雾浓度&#xff0c;PM2.5浓度&#xff0c;甲醛浓度&#xff1b;从机2采集温湿度&#xff0c;光照强度&#xff0c;噪声强度&#xff0c;老人体感温度&#xff1b;从机3收集厨房饮用水的TDS值。3个数据采集从机将采集到的数据显示在本地OLED屏…...

关于Qt适配不同分辨率和缩放率时可能遇到的问题和解决方案

如果没有特殊的处理&#xff0c;Qt的UI窗口在不同的分辨率和缩放率下&#xff0c;其显示效果可能会出现问题&#xff0c;常见的有&#xff1a; 子控件堆叠&#xff0c;无法显示完整 窗口尺寸变大&#xff0c;超出屏幕的显示范围 控件变形&#xff0c;长宽比不合理 界面模糊 …...

第1篇 目标检测概述 —(1)目标检测基础知识

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。目标检测是计算机视觉领域中的一项任务&#xff0c;旨在自动识别和定位图像或视频中的特定目标&#xff0c;目标可以是人、车辆、动物、物体等。目标检测的目标是从输入图像中确定目标的位置&#xff0c;并使用边界框将其标…...

Discuz论坛网站标题栏Powered by Discuz!版权信息如何去除或是修改?

当我们搭建好DZ论坛网站后&#xff0c;为了美化网站&#xff0c;想把标题栏的Powered by Discuz&#xff01;去除或是修改&#xff0c;应该如何操作呢&#xff1f;今天飞飞和你分享&#xff0c;在操作前务必把网站源码和数据库都备份到本地或是网盘。 Discuz的版权信息存在两处…...

springboot整合aop,实现日志操作

前言&#xff1a; 整合之前&#xff0c;我们要明白aop是什么&#xff0c;为什么要用aop&#xff0c;aop能帮我们做什么。 答&#xff1a;AOP是面向切面编程&#xff08;Aspect-Oriented Programming&#xff09;的简称&#xff0c;它是一种编程思想&#xff0c;旨在在面向对象…...

openjdk和oracle jdk的区别

OpenJDK 和 Oracle JDK 都是 Java Development Kit (JDK) 的不同实现&#xff0c;用于开发和运行 Java 应用程序。它们有一些区别&#xff0c;但也有很多相似之处。以下是它们之间的主要区别&#xff1a; 开源性质&#xff1a; OpenJDK 是开源的&#xff0c;由一个社区维护和开…...

深度学习-Python调用ONNX模型

目录 ONNX模型使用流程 获取ONNX模型方法 使用ONNX模型 手动编写ONNX模型 Python调用ONNX模型 常见错误 错误raise ValueError...&#xff1a; 错误&#xff1a;Load model model.onnx failed 错误&#xff1a;CUDAExecutionProvider is not in available provider 错…...

[2023.09.24]: 今天差点又交白卷

今天周日&#xff0c;搞定了家里装修的一件事情&#xff0c;周末的事特别多&#xff0c;总算在10点的时候&#xff0c;解决了昨天那个输入焦点设置失败的问题。 在探索Rust编写基于web_sys的WebAssembly编辑器&#xff1a;挑战输入光标定位的实践中&#xff0c;我们总结了设置光…...

css,环形

思路&#xff1a; 1.先利用conic-gradient属性画一个圆&#xff0c;然后再叠加 效果图 <template><div class"ring"><div class"content"><slot></slot></div></div> </template> <script> import …...

php食堂点餐系统hsg5815ABA2程序-计算机毕业设计源码+数据库+lw文档+系统+部署

php食堂点餐系统hsg5815ABA2程序-(毕业设计毕设项目源代码课程设计程序设计指导xz2023) php食堂点餐系统hsg5815ABA2程序-计算机毕业设计源码数据库lw文档系统部署...

谁家网站用户体验做的好/网站怎么推广效果好一点呢

SQL SERVER 2012数据库&#xff1a;删除用户时提示“数据库主体在该数据库中拥有架构”无法删除解决办法http://blog.csdn.net/aminfo/article/details/21470293[sql] view plaincopy use 数据库名 ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo...

如何做淘客推广网站/百度指数api

本文转载自微信公众号「DBA闲思杂想录」&#xff0c;作者潇湘隐者 。转载本文请联系DBA闲思杂想录公众号。mysqldump有一个参数--lock-tables&#xff0c;以前对这个参数也没有深入、详细了解过&#xff0c;直到上次有个网友问“参数lock-tables 是一次性锁定当前库的所有表&am…...

什么网站做设计可以赚钱吗/百度公司有哪些部门

在各种情况下&#xff0c;在利益相关者之间共享之前&#xff0c;PDF文档都是经过加密的。加密使文档免受未经授权的访问和内容篡改的影响。有两种保护PDF文档安全的流行方法-用密码加密PDF或限制用户的访问权限&#xff0c;例如打印&#xff0c;编辑&#xff0c;复制等。 本文…...

哈尔滨智能建站模板/在哪里做推广效果好

1. 曼哈顿距离 VS 欧氏距离 出租车几何或曼哈顿距离&#xff08;Manhattan Distance&#xff09;是由十九世纪的赫尔曼闵可夫斯基所创词汇 &#xff0c;是种使用在几何度量空间的几何学用语&#xff0c;用以标明两个点上在标准坐标系上的绝对轴距总和。图中红线代表曼哈顿距离…...

台州网站设计公司/免费广告推广

代码 f open(test/gbk.txt, a, encodingutf-8) print(f.readline()) 最终的执行结果是输出空&#xff0c;为什么呢&#xff1f; a模式打开文件指针在文件结尾处&#xff0c;所以直接读是读不到内容的 emmm..这是啥意思呢&#xff1f;来看下面代码 f open(test/gbk.txt, a, en…...

php动态网站开发简答题/百度seo推广怎么收费

测试原理&#xff0c;停掉源端和目标端的OGG&#xff0c; 在源端进行DML操作&#xff0c;然后切换日志。然后开启源端和目标端的OGG。看看是否会同步数据到目标端。另外查看源端的ext进程日志&#xff0c;看里面的提示。 结论&#xff1a; OGG 在停掉后&#xff0c;进行大批量的…...