1.链表的倒数第K个结点

问题描述:

输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个结点是值为4的结点,需要保证时间复杂度。

算法思路:

设置两个指针p1,p2,从头到尾开始出发,一个指针先出发k个节点,然后第二个指针再进行出发,当第一个指针到达链表的节点的时候,则第二个指针表示的位置就是链表的倒数第k个节点的位置。

代码如下:

//倒数第k个结点
ListNode findKth(ListNode head,int k){ListNode cur=head;ListNode now=head;int i=0;while(cur!=null&i++<k){cur=cur->next;}while(cur!=null){now=now->next;cur=cur->next;}}

总结:当我们用一个指针遍历链表不能解决问题的时候,可以尝试用两个指针来遍历链表。可以让其中一个指针遍历的速度快一些(比如一次在链表上走两步),或者让它先在链表上走若干步。

2.从尾到头打印链表(递归和非递归)

问题描述:

输入一个单链表链表,从尾到头打印链表每个节点的值。输入描述:输入为链表的表头;输出描述:输出为需要打印的“新链表”的表头。

算法思路:

首先我们想到从尾到头打印出来,由于单链表的查询只能从头到尾,所以可以想出栈的特性,先进后出。所以非递归可以把链表的点全部放入一个栈当中,然后依次取出栈顶的位置即可。

代码如下:

//非递归void PrintReversing(ListNode * head){//利用一个栈Stack stack;ListNode *node=head->next;
//将链表的结点压入while(node!=null){stack.push(node); node=node->next;}ListNode *popNode;while(stack.isEmpty()){//获得最上面的元素popNode=stack.top();//打印printf("%d\t",popNode->value);
//弹出元素stack.pop();}//递归
void printRevese(ListNode *head){if(head!=null){if(head->next!=null){printRevese(head->next);}print("%d\t",head->value);}}
非递归的描述当中,经常会用栈或者队列这些数据结构来改写一些递归的算法。其实递归的算法的时间复杂度是递归树的高度,所以递归的层数越高,时间复杂度也就会越高的。

3.如何判断一个链表有环

问题描述:

有一个单向链表,链表当中有可能出现“环”,如何用程序判断出这个链表是有环链表?
不允许修改链表结构。时间复杂度O(n),空间复杂度O(1)。

算法思路:

方法一、穷举遍历

首先从头节点开始,依次遍历单链表的每一个节点。每遍历到一个新节点,就从头节点重新遍历新节点之前的所有节点,用新节点ID和此节点之前所有节点ID依次作比较。如果发现新节点之前的所有节点当中存在相同节点ID,则说明该节点被遍历过两次,链表有环;如果之前的所有节点当中不存在相同的节点,就继续遍历下一个新节点,继续重复刚才的操作。

假设从链表头节点到入环点的距离是D,链表的环长是S。那么算法的时间复杂度是0+1+2+3+….+(D+S-1) = (D+S-1)(D+S)/2 , 可以简单地理解成 O(NN)。而此算法没有创建额外存储空间,空间复杂度可以简单地理解成为O(1)。

这种方法是暴力破解的方式,时间复杂度太高。

方法二、快慢指针

首先创建两个指针1和2,同时指向这个链表的头节点。然后开始一个大循环,在循环体中,让指针1每次向下移动一个节点,让指针2每次向下移动两个节点,然后比较两个指针指向的节点是否相同。如果相同,则判断出链表有环,如果不同,则继续下一次循环。

说明 :在循环的环里面,跑的快的指针一定会反复遇到跑的慢的指针 ,比如:在一个环形跑道上,两个运动员在同一地点起跑,一个运动员速度快,一个运动员速度慢。当两人跑了一段时间,速度快的运动员必然会从速度慢的运动员身后再次追上并超过,原因很简单,因为跑道是环形的。

代码如下:

/*** 判断单链表是否存在环* @param head* @return*/
public static <T> boolean isLoopList(ListNode<T> head){ListNode<T> slowPointer, fastPointer;//使用快慢指针,慢指针每次向前一步,快指针每次两步slowPointer = fastPointer = head;while(fastPointer != null && fastPointer.next != null){slowPointer = slowPointer.next;fastPointer = fastPointer.next.next;//两指针相遇则有环if(slowPointer == fastPointer){return true;}}return false;
}

 

4.链表中环的大小

问题描述

有一个单向链表,链表当中有可能出现“环”,那么如何知道链表中环的长度呢?

算法思路

由[3.如何判断一个链表有环](# 3.如何判断一个链表有环)可以知道,快慢指针可以找到链表是否有环存在,如果两个指针第一次相遇后,第二次相遇是什么时候呢?第二次相遇是不是可以认为快的指针比慢的指针多跑了一个环的长度。所以找到第二次相遇的时候就找到了环的大小。

代码如下:

//求环中相遇结点public Node cycleNode(Node head){//链表为空则返回nullif(head == null)return null;Node first = head;Node second = head;while(first != null && first.next != null){first = first.next.next;second = second.next;//两指针相遇,则返回相遇的结点 if(first == second)return first;}//链表无环,则返回nullreturn null;}public int getCycleLength(Node head){Node node = cycleNode(head);//node为空则代表链表无环if(node == null)return 0;int length=1;Node current = node.next;//再次相遇则循环结束while(current != node){length++;current = current.next;}return length;}

 

5.链表中环的入口结点

问题描述

给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。

算法思路

如果链表存在环,那么计算出环的长度n,然后准备两个指针pSlow,pFast,pFast先走n步,然后pSlow和pFase一块走,当两者相遇时,即为环的入口处;所以解决三个问题:如何判断一个链表有环;如何判断链表中环的大小;链表中环的入口结点。实际上最后的判断就如同链表的倒数第k个节点。

代码如下

public class Solution {public ListNode EntryNodeOfLoop(ListNode pHead){if(pHead.next == null || pHead.next.next == null)return null;ListNode slow = pHead.next;ListNode fast = pHead.next.next;while(fast != null){if(fast == slow){fast = pHead;while(fast != slow){fast = fast.next;slow = slow.next;}return fast;}slow = slow.next;fast = fast.next.next;}return null;}
}

以上5题的套路其实都非常类似,第5题可以说是前面几道题的一个汇总题目吧,链表类的题利用快慢指针,两个指针确实挺多的,如下面题目7

6.单链表在时间复杂度为O(1)删除链表结点

问题描述

给定单链表的头指针和一个结点指针,定一个函数在时间复杂度为O(1)删除链表结点

算法思路

根据了解的条件,如果只有一个单链表的头指针,链表的删除操作其实正常的是O(n)的时间复杂度。因为首先想到的是从头开始顺序遍历单链表,然后找到节点,再进行删除。但是这样的方式达到的时间复杂度并不是O(1);实际上纯粹的删除节点操作,链表的删除操作是O(1)。前提是需要找到删除指定节点的前一个结点就可以。

那么是不是必须找到删除指定节点的前一个结点呢?如果我们删除的节点是A,那么我们把A下一个节点B和A的data进行交换,然后我们删除节点B,是不是也可以达到同样的效果。

答案是肯定的。
既然不能在O(1)得到删除节点的前一个元素,但我们可以轻松得到后一个元素,这样,我们何不把后一个元素赋值给待删除节点,这样也就相当于是删除了当前元素。可见,该方法可行,但如果待删除节点为最后一个节点,则不能按照以上思路,没有办法,只能按照常规方法遍历,时间复杂度为O(n),是不是不符合题目要求呢?可能很多人在这就会怀疑自己的思考,从而放弃这种思路,最后可能放弃这道题,这就是这道面试题有意思的地方,虽看简单,但是考察了大家的分析判断能力,是否拥有强大的心理,充分自信。其实我们分析一下,仍然是满足题目要求的,如果删除节点为前面的n-1个节点,则时间复杂度为O(1),只有删除节点为最后一个时,时间复杂度才为O(n),所以平均的时间复杂度为:(O(1) * (n-1) + O(n))/n = O(1);仍然为O(1).

代码如下

struct  ListNode  
{int            m_nKey;ListNode*    m_pNext;
};void DeleteNode(ListNode *pListHead, ListNode *pToBeDeleted)
{if (!pListHead || !pToBeDeleted)return;if (pToBeDeleted->m_pNext != NULL) { ListNode *pNext = pToBeDeleted->m_pNext;pToBeDeleted->m_pNext = pNext->m_pNext;pToBeDeleted->m_nKey = pNext->m_nKey;delete pNext;pNext = NULL;}else { //待删除节点为尾节点ListNode *pTemp = pListHead;while(pTemp->m_pNext != pToBeDeleted) pTemp = pTemp->m_pNext;pTemp->m_pNext = NULL;delete pToBeDeleted;pToBeDeleted = NULL;}
}

题目的考虑的点,也很特别

7.两个链表的第一个公共结点

问题描述

输入两个单链表,找出他们的第一个公共结点。

算法思路

我们了解到单链表的指针是指向下一个节点的,如果两个单链表的第一个公共节点就说明他们后面的节点都是在一起的。类似下图,由于两个链表的长度可能是不一致的,所以首先比较两个链表的长度m,n,然后用两个指针分别指向两个链表的头节点,让较长的链表的指针先走|m-n|个长度,如果他们下面的节点是一样的,就说明出现了第一个公共节点。

代码如下

public class Solution {public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {if (pHead1 == null||pHead2 == null) {return null;}int count1 = 0;ListNode p1 = pHead1;while (p1!=null){p1 = p1.next;count1++;}int count2 = 0;ListNode p2 = pHead2;while (p2!=null){p2 = p2.next;count2++;}int flag = count1 - count2;if (flag > 0){while (flag>0){pHead1 = pHead1.next;flag --;}while (pHead1!=pHead2){pHead1 = pHead1.next;pHead2 = pHead2.next;}return pHead1;}if (flag <= 0){while (flag<0){pHead2 = pHead2.next;flag ++;}while (pHead1 != pHead2){pHead2 = pHead2.next;pHead1 = pHead1.next;}return pHead1;}return null;}
}

8.合并两个排序的链表

问题描述

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

算法思路

这道题比较简单,合并两个有序的链表,就可以设置两个指针进行操作即可,同时比较大小,但是也需要注意两个链表的长度进行比较。

代码如下

public class Solution {public ListNode Merge(ListNode list1,ListNode list2) {ListNode head = new ListNode(-1);ListNode cur = head;while (list1 != null && list2 != null) {if (list1.val <= list2.val) {cur.next = list1;list1 = list1.next;} else {cur.next = list2;list2 = list2.next;}cur = cur.next;}if (list1 != null)cur.next = list1;if (list2 != null)cur.next = list2;return head.next;}}

9.复杂的链表复制

问题描述

题目:请实现函数ComplexListNode Clone(ComplexListNode head),复制一个复杂链表。在复杂链表中,每个结点除了有一个Next指针指向下一个结点外,还有一个Sibling指向链表中的任意结点或者NULL。

 下图是一个含有5个结点的复杂链表。图中实线箭头表示m_pNext指针,虚线箭头表示m_pSibling指针。为简单起见,指向NULL的指针没有画出。

算法思路

第一种:O(n2)的普通解法

  第一步是复制原始链表上的每一个结点,并用Next节点链接起来;
  第二步是设置每个结点的Sibling节点指针。
  

第二种 :借助辅助空间的O(n)解法

  第一步仍然是复制原始链表上的每个结点N创建N',然后把这些创建出来的结点用Next链接起来。同时我们把<N,N'>的配对信息放到一个哈希表中。
  第二步还是设置复制链表上每个结点的m_pSibling。由于有了哈希表,我们可以用O(1)的时间根据S找到S'。

第三种:不借助辅助空间的O(n)解法

  第一步仍然是根据原始链表的每个结点N创建对应的N'。(把N'链接在N的后面)
  

  第二步设置复制出来的结点的Sibling。(把N'的Sibling指向N的Sibling)
 

  第三步把这个长链表拆分成两个链表:把奇数位置的结点用Next链接起来就是原始链表,偶数数值的则是复制链表。

代码如下

public class Solution {public RandomListNode Clone(RandomListNode pHead) {if(pHead == null) {return null;}RandomListNode currentNode = pHead;//1、复制每个结点,如复制结点A得到A1,将结点A1插到结点A后面;while(currentNode != null){RandomListNode cloneNode = new RandomListNode(currentNode.label);RandomListNode nextNode = currentNode.next;currentNode.next = cloneNode;cloneNode.next = nextNode;currentNode = nextNode;}currentNode = pHead;//2、重新遍历链表,复制老结点的随机指针给新结点,如A1.random = A.random.next;while(currentNode != null) {currentNode.next.random = currentNode.random==null?null:currentNode.random.next;currentNode = currentNode.next.next;}//3、拆分链表,将链表拆分为原链表和复制后的链表currentNode = pHead;RandomListNode pCloneHead = pHead.next;while(currentNode != null) {RandomListNode cloneNode = currentNode.next;currentNode.next = cloneNode.next;cloneNode.next = cloneNode.next==null?null:cloneNode.next.next;currentNode = currentNode.next;}return pCloneHead;}
}

10.反转链表

问题描述

题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。如图:

算法思路

为了正确地反转一个链表,需要调整链表中指针的方向。为了将复杂的过程说清楚,这里借助于下面的这张图片。

上面的图中所示的链表中,h、i和j是3个相邻的结点。假设经过若干操作,我们已经把h结点之前的指针调整完毕,这个结点的m_pNext都指向前面的一个结点。接下来我们把i的m_pNext指向h,此时结构如上图所示。

从上图注意到,由于结点i的m_pNext都指向了它的前一个结点,导致我们无法在链表中遍历到结点j。为了避免链表在i处断裂,我们需要在调整结点i的m_pNext之前,把结点j保存下来。

即在调整结点i的m_pNext指针时,除了需要知道结点i本身之外,还需要i的前一个结点h,因为我们需要把结点i的m_pNext指向结点h。同时,还需要实现保存i的一个结点j,以防止链表断开。故我们需要定义3个指针,分别指向当前遍历到的结点、它的前一个结点及后一个结点。故反转结束后,新链表的头的结点就是原来链表的尾部结点。尾部结点为m_pNext为null的结点。

代码如下

public class ReverseList_16 {public ListNode ReverseList(ListNode head) {if (head == null || head.nextNode == null) {return head;}ListNode next = head.nextNode;head.nextNode = null;ListNode newHead = ReverseList(next);next.nextNode = head;return newHead;}public ListNode ReverseList1(ListNode head) {ListNode newList = new ListNode(-1);while (head != null) {ListNode next = head.nextNode;head.nextNode = newList.nextNode;newList.nextNode = head;head = next;}return newList.nextNode;}
}

 

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 基础路由配置

    基础路由配置 ** 实验要求 &#xff1a;1.R6为ISP运营商&#xff0c;接口地址均为共有地址&#xff1b;该设备只能配置IP地址&#xff0c;之后不能在对其进行任何配置。 2.R1-R5为局域网&#xff0c;私有IP地址为192.168.1.0/24&#xff0c;请合理分配。 3.所有路由器上都配…...

    2024/4/7 14:31:52
  2. HDU4689 Prince and Princess (Tarjan+匈牙利匹配)

    题意&#xff1a;n个王子&#xff0c;m个公主(n,m<500)&#xff0c;王子喜欢公主就可以匹配&#xff0c;问在总匹配数最多的情况下&#xff0c;每个王子都可以匹配哪几个公主。 分析&#xff1a;POJ1904的加强版本&#xff0c;感觉要想做出这题要先搞懂这个简单版。 感觉这…...

    2024/4/7 14:31:49
  3. SourceTree安装闪退,报错Access to the registry key ‘...‘ is denied

    安装失败可以查看日志&#xff0c;即可了解具体原因&#xff0c;日志路径如下 本人安装时遇到一个比较稀有的问题: System.UnauthorizedAccessException: Access to the registry key ‘HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_…...

    2024/4/23 6:53:19
  4. 翻转字符串里的单词

    注意&#xff1a;split那些前后都有空格的字符串时&#xff0c;会生成好多空串元素 class Solution {public String reverseWords(String s) {String[] str s.split(" ");List<String> list new ArrayList<>();for(int i 0; i < str.length; i){S…...

    2024/4/7 9:29:30
  5. js把时间戳转换成时间格式yyyy-MM-dd HH:mm:ss

    //时间戳转换方法 date:时间戳数字 function formatDate(date) {var date new Date(date);var YY date.getFullYear() -;var MM (date.getMonth() 1 < 10 ? 0 (date.getMonth() 1) : date.getMonth() 1) -;var DD (date.getDate() < 10 ? 0 (date.getDat…...

    2024/4/7 9:29:30
  6. [解决]Lock wait timeout exceeded; try restarting transaction MYSQL行锁怎么破?

    问题 更新某条数据时出现以下错误&#xff0c;就一直阻塞在那里&#xff0c;直到timeout&#xff0c;出现以下错误 [40001][1205] Lock wait timeout exceeded; try restarting transaction 由此可见遇见锁啦&#xff0c;怎么破&#xff1f;唯有解锁。 解决 看看自己有哪条…...

    2024/4/7 9:29:28
  7. Gulp和Webpack的基本区别:

    Gulp和Webpack的基本区别&#xff1a; gulp可以进行js&#xff0c;html&#xff0c;css&#xff0c;img的压缩打包&#xff0c;是自动化构建工具&#xff0c;可以将多个js文件或是css压缩成一个文件&#xff0c;并且可以压缩为一行&#xff0c;以此来减少文件体积&#xff0c;…...

    2024/4/22 17:09:03
  8. Node.js 安装配置

    简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境&#xff1b; Node.js使用一个事件驱动、非阻塞式 I/O 的模型&#xff0c;使其轻量且高效&#xff1b; Node.js的软件包生态系统npm是全球最大的开源库生态系统。…...

    2024/4/7 9:29:27
  9. MySql 分数排名

    分数排名 题目&#xff1a; 编写一个 SQL 查询来实现分数排名。 如果两个分数相同&#xff0c;则两个分数排名&#xff08;Rank&#xff09;相同。请注意&#xff0c;平分后的下一个名次应该是下一个连续的整数值。换句话说&#xff0c;名次之间不应该有“间隔”。 —------ |…...

    2024/4/7 9:29:31
  10. c++----继承方式

    c ----继承方式 继承的语法 子类&#xff1a;继承方式 父类 代码部分 #include<iostream> using namespace std;//继承的三种方式 //公共继承 //保护继承 //私有继承//注意事项 //子类无论是以那一种方式继承&#xff0c;都不能访问父类中的私有权限的成员 //若子类以…...

    2024/4/7 9:29:24
  11. WEB服务(二)

    Apache基于域名访问虚拟WEB主机 ​ 虚拟Web主机指的是在同一台服务器中运行多个Web站点.其中的每个站点实际上并不独立占 用整个服务器&#xff0c;因此被称为“虚拟”Web主机。通过虚拟Web主机服务可以充分利用服务器的硬件 资源&#xff0c;从而大大降低网站构建及运行成本。…...

    2024/4/7 9:29:24
  12. 我回来了

    工作了几年 现在又回到这里 还是熟悉的味道...

    2024/4/7 14:31:47
  13. bat cmd进入指定文件夹快捷方式

    cd /d e:\xxx\xxx...

    2024/4/21 17:44:06
  14. codeforce1420C(DP)

    题目 题意&#xff1a;给出一个数组&#xff0c;取出若干数使得取出来的数按照相邻两数相加&#xff0c;接着变为相减&#xff0c;使得最后的结果最大 思路&#xff1a;建立一个DP的数组&#xff0c; dp[i][0]记录最后一个数为负的最大值 dp[i][1]记录最后一个数为正的最大值…...

    2024/4/7 14:31:45
  15. 华为交换机配置Telnet

    ...

    2024/4/7 14:31:45
  16. 华为云部署项目

    一、GaussDB数据库 1、登录华为云&#xff0c;进入控制台&#xff0c;从服务列表选择云数据库GaussDB&#xff1a; 2、创建数据库&#xff0c;点击登录之后跳转管理平台&#xff0c;运行SQL语句创建数据库&#xff1a; 点击登录&#xff0c;输入账号密码跳转数据库管理平台…...

    2024/4/23 10:44:59
  17. Java SE | 注解

    1. 概述 Annotation 其实就是代码里的特殊标记, 这些标记可以在编译&#xff0c;类加载&#xff0c;运行时被读取&#xff0c;并执行相应的处理。通过使用 Annotation&#xff0c;程序员可以在不改变原有逻辑的情况下&#xff0c;在源文件中嵌入一些补充信息。代码分析工具、开…...

    2024/4/17 10:53:31
  18. 51单片机学习笔记2.动态数码管的使用

    原理图 内容 74HC138译码器 输出端Y0-Y7(单片机原理图中的LED1-LED8)受控于三个输入端A0~A2(P22 P23 P24) A0 A1 A2相当于表示了一个三位二进制数&#xff0c;A0是最低位&#xff0c;A2是最高位&#xff0c;且对应的YA2A1A0Y_{A_2A_1A_0}YA2​A1​A0​​呈现低电平&#xff0…...

    2024/4/7 14:31:41
  19. 汇编——计算前10个数的和(循环)

    已知结果是两位&#xff0c;用到 这里的代码——简单打印几位十进制数 DATAS SEGMENT;此处输入数据段代码 DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码 STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKS START:MOV AX,DATASMOV DS,AX;此处输入代码段代码MOV A…...

    2024/4/23 3:24:13
  20. Kubernetes 容器网络模型和典型实现

    **导读&#xff1a;**前文 Kubernetes 中的 ClusterIP、NodePort、LoadBalancer、Ingress 服务访问方式比较中总结了服务接入访问的主要方式&#xff0c;以及它们之间隐含关系。有了这些概念基础后&#xff0c;K8s 应用开发和服务部署就容易很多了&#xff0c;但 Under the hoo…...

    2024/4/7 14:31:41

最新文章

  1. TypeScript中interface和type的差别是什么?

    TypeScript中interface和type的差别是什么&#xff1f; 1. interface2. type3. interface和type的差别3.1. 扩展性3.2. 声明合并3.3. 重新声明3.4. 类实现3.5. 基本类型别名 在TypeScript中&#xff0c;interface和type都是定义类型的关键字&#xff0c;但它们在使用和行为上存…...

    2024/4/23 20:30:46
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. MyBatis实战:如何将拼接的SQL打印到日志

    哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 一、前言 在日常开发中&#xff0c;经常会遇到拼接SQL的情况&#xff0c;这时候&#xff0c;如何将拼接的SQL打印到日志&#xff0c;以便追踪和调试呢&#xff1f;本文将详细介绍MyBatis如何实现这一功能。 二、My…...

    2024/4/22 14:46:38
  4. 【python】Flask Web框架

    文章目录 WSGI(Web服务器网关接口)示例Web应用程序Web框架Flask框架创建项目安装Flask创建一个基本的 Flask 应用程序调试模式路由添加变量构造URLHTTP方法静态文件模板—— Jinja2模板文件(Template File)<...

    2024/4/21 20:26:20
  5. 技术与安全的交织

    引言 介绍数字化转型对企业出海策略的影响&#xff0c;强调在全球市场中成功的关键因素之一是有效利用网络技术&#xff0c;如SOCKS5代理、代理IP&#xff0c;以及确保网络安全。 第一部分&#xff1a;网络技术的基础 SOCKS5代理 定义和工作原理 SOCKS5代理与网络匿名性的关系…...

    2024/4/23 6:21:48
  6. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/4/22 23:19:42
  7. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/4/23 0:57:45
  8. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/4/23 9:32:47
  9. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/4/23 9:32:46
  10. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/4/23 9:23:51
  11. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/4/23 9:32:46
  12. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/4/23 9:32:45
  13. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/4/23 9:32:45
  14. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/4/23 6:07:03
  15. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/4/23 9:32:44
  16. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/4/23 9:32:44
  17. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/4/23 9:32:44
  18. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/4/23 0:54:52
  19. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/4/23 0:54:31
  20. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/4/23 9:32:42
  21. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/4/23 9:32:42
  22. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/4/23 9:32:41
  23. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/4/23 9:32:41
  24. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/4/22 18:18:53
  25. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/4/23 0:52:04
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57