网站里面的按钮链接怎么做/百度网盘在线观看资源

网站里面的按钮链接怎么做,百度网盘在线观看资源,网页制作 页面链接其他网站 ,强的网站建设公司请实现函数ComplexListNode* Clone(ComplexListNode * pHead),复制一个复杂链表。在复杂链表中,每个结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSibling指向链表中的任意结点或者NULL。结点的C定义如下: struct ComplexListNode…

请实现函数ComplexListNode* Clone(ComplexListNode * pHead),复制一个复杂链表。在复杂链表中,每个结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSibling指向链表中的任意结点或者NULL。结点的C++定义如下:

struct ComplexListNode{
    int m_nValue;
    ComplexListNode* m_pNext;
    ComplexListNode* m_pSibling;
};

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

第一步制原始链表上的每个结点N创建N',然后把这些创建出来的结点用m_pNext链接起来。同时我们把<N, N'>的配对信息放到一个哈希表中。第二步还是设置复制链表上的每个结点的m_pSibling。如果在原始链表中结点N的m_pSibling指向结点S,那么在复制链表中,对应的N'应该指向S'。由于有了哈希表,我们可以在O(1)的时间根据S找到S’。这种是以O(n)的空间换来了O(n)的时间复杂度。
 

代码:

package offer;

import java.util.HashMap;
import java.util.Map;

class ComplexList
{
    char val;
    ComplexList next = null;
    ComplexList extend = null;
    ComplexList(char val)
    {
        this.val = val;
    }
}
public class ti35 {
    static ComplexList CloneComplexList(ComplexList head)
    {
        Map<ComplexList,ComplexList> map = new HashMap<ComplexList,ComplexList>();
        ComplexList CloneNode = new ComplexList('a');
        if(head!=null)
        {
            CloneNode = head;
            map.put(head,CloneNode);
        }
        ComplexList CloneHead = CloneNode;
        while(head.next!=null)
        {
            head = head.next;
            CloneNode = CloneNode.next;
            map.put(head, CloneNode);
        }
        CloneNode = CloneHead;
        while(CloneNode.next!=null)
        {
            CloneNode.extend = map.get(CloneNode.extend);
            CloneNode = CloneNode.next;
        }
        return CloneHead;
    }
    public static void main(String[] args)
    {
        ComplexList a = new ComplexList('A');
        ComplexList b = new ComplexList('B');
        ComplexList c = new ComplexList('C');
        ComplexList d = new ComplexList('D');
        ComplexList e = new ComplexList('E');
        a.next = b;
        b.next = c;
        c.next = d;
        d.next = e;
        b.extend = e;
        a.extend = c;
        d.extend = b;
        ComplexList result = CloneComplexList(a);
        while(result.next!=null)
        {
            System.out.print(result.val+" "+result.next.val+" ");
            if(result.extend!=null)
            {
                System.out.println(result.extend.val);
            }
            else
            {
                System.out.println();
            }
            result = result.next;
        }
    }
}
不使用辅助空间

代码:

static ComplexList CloneComplexList2(ComplexList head)
    {
        if(head==null)
        {
            return head;
        }
        ComplexList p = head;//记录原来链表的头结点
        while(head.next!=null)
        {
            ComplexList x = new ComplexList(head.val);
            x.next = head.next;
            head.next = x;
            head = x.next;
        }
        ComplexList x = new ComplexList(head.val);
        head.next = x;
        head = p;
        while(head.next.next!=null)
        {
            if(head.extend!=null)
            head.next.extend = head.extend.next;
            head = head.next.next;
            
        }
        head = p;
        ComplexList q = head.next,result;//记录克隆链表的头结点
        result = q;
        //System.out.println(q.val+" "+q.next.val);
        while(q.next!=null&&q.next.next!=null)
        {
            //System.out.println(q.val+" "+q.next.val);
            q.next = q.next.next;
            q = q.next;
        }
        return result;
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485314.shtml

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

相关文章

人类倾向于高估人工智能的进步,低估自身智能的复杂性-读《AI 3.0》

有很多关于人工智能的书。亚马逊网站上就有20,000本。其中很多书都有戏剧性的标题&#xff0c;比如《生命3.0》 &#xff0c;《终极算法》 &#xff0c;尤其是《奇点来临》。梅勒妮 米切尔的新书的标题更加谦虚&#xff0c;但是在我看来&#xff0c;在这个主题上&#xff0c;它…

计算机操作系统——死锁(产生的必要条件与处理死锁的四个关卡)

计算机操作系统——死锁 前言&#xff1a;死锁&#xff1a;指多个进程因竞争共享资源而造成的一种僵局&#xff0c;若无外力作用&#xff0c;这些进程都将永远不能再向前推进。如果死锁发生&#xff0c;会浪费大量的系统资源&#xff0c;甚至会导致系统崩溃。 关于死锁的结论…

科学难题的形成

来源&#xff1a;肖建华科学网博客传统上&#xff0c;把科学理论分为两类&#xff1a;唯象性科学理论和哲学性科学理论。大致而言&#xff0c;工程科学是以具体现象类来划分学科&#xff0c;此类学科的理论一般称为唯象性理论。而把各学科的共性特征抽象出来作为研究对象而建立…

冯·诺依曼计算机特点

冯诺依曼计算机特点 冯诺依曼&#xff0c;20世纪最重要的数学家之一。在现代计算机、博弈论、核武器和生化武器等众多领域内有杰出建树的最伟大的科学全才之一&#xff0c;被后人称为“计算机之父”和“博弈论之父”。 一、冯诺依曼计算机结构&#xff08;以运算器为中心&…

计算机操作系统——经典进程的同步问题

计算机操作系统——信号量机制与经典进程的同步问题 信号量机制 随着发展&#xff0c;信号量从整型信号量经记录型信号量&#xff0c;进而发展为“信号量集”机制。 一般来说&#xff0c;信号量的值与相应的资源的使用情况有关。 信号量的值仅由P、V操作改变。 信号量的初值…

2020年度全球人工智能十大事件

该文章内容转载自战略前沿技术当前&#xff0c;新一代人工智能技术在全球蓬勃兴起&#xff0c;迅猛发展&#xff0c;与大数据、区块链、5G等新技术相互融合、相互因应&#xff0c;为经济社会发展尤其是数字经济发展注入新动能&#xff0c;正在深刻改变社会生产生活方式。与此同…

当贝叶斯,奥卡姆和香农一起来定义机器学习

来源&#xff1a;数学中国【导读】当贝叶斯、奥卡姆和香农一起给机器学习下定义&#xff0c;将统计学、信息理论和自然哲学的一些核心概念结合起来&#xff0c;我们便会会发现&#xff0c;可以对监督机器学习的基本限制和目标进行深刻而简洁的描述。令人有点惊讶的是&#xff0…

eclipse中下载spring-tool-suite插件遇到的问题

eclipse中下载spring-tool-suite插件遇到的问题 我的eclipse的版本4.7.0&#xff0c;接下来以下载我的eclipse的对应STS版本3.8.4为例&#xff0c;讲一下遇到的问题。不同版本的eclipse对应不同的spring-tool-suite&#xff0c;具体的版本对应可以去其他的博客中寻找&#xff…

python - 内置函数

enumerate 将一个可迭代/可迭代对象变成enumerate类型 利用for循环可以对enumerate类型获得索引和值 1 lis (星期一, 星期二, 星期三, 星期四, 星期五, 星期六, 星期七) 2 ret enumerate(lis, 1) # enumerate 可以接受第二个参数&#xff0c; 用于指定索引起始值 3 4 fo…

2021年,AI有潜力改善农业的十种路径

来源&#xff1a;Forbes作者&#xff1a;Louis Columbus编译&#xff1a;科技行者普华永道指出&#xff0c;基于物联网的农业&#xff08;IoTAg&#xff09;监控已经成为联网智能农业领域发展最快的技术领域&#xff0c;市场总额到2025年预计将增长至45亿美元。根据BI Intellig…

计算机组成原理——总线系统总结

计算机组成原理——总线系统总结 一、总线的概念&#xff1a; 总线是构成计算机系统放入互联机构&#xff0c;是多个系统功能部件之间进行数据传送的公共通路。借助于总线连接&#xff0c;计算机在各个系统功能部件之间实现地址、数据和控制信息的交换&#xff0c;并在争用资…

科学家打造全套人工神经系统 帮助瘫痪病人重新控制身体

Photo: Nathaniel Welch来源&#xff1a; IEEE电气电子工程师Motion Restored: Luke Tynan, who was paralyzed in 2017 by a spinal cord injury, demonstrates the wearable system that enables him to control his arm and hand. Sensors on the arm register his intentio…

存储器容量扩展——位扩展、字扩展

存储器&#xff08;二&#xff09;——存储容量扩展 前言&#xff1a;&#xff08;基本概念&#xff09; 存储空间&#xff1a;CPU决定存储器&#xff1a;用户需求决定&#xff08;4G&#xff0c;8G&#xff09;&#xff08;8G的存储器1各芯片能否完成用户需求&#xff1f;如…

海明码构造及纠错

计算机组成原理——海明码的构造及纠错 海明码&#xff08;又称为汉明码&#xff09;是具有一位纠错能力的编码。 信息位&#xff1a;发送用户端想要发送的信息序列&#xff0c;彼此独立&#xff0c;互不相关&#xff0c;最终交给接收端。 检测位&#xff1a;为了使信息码元产…

机器学习对抗攻击是一颗“定时炸弹”

来源 | AI前线作者 | Ben Dickson译者 | Sambodhi策划 | 刘燕随着机器学习的迅速普及&#xff0c;科技界必须制定一份保证人工智能系统免遭对抗攻击的路线图。否则&#xff0c;对抗机器学习将会是一场灾难。如果你一直在关注有关人工智能的新闻&#xff0c;你可能已经听说过或看…

操作系统基本特性——并发、共享、虚拟、异步

操作系统的基本特性——并发、共享、虚拟、异步 前言&#xff1a;操作系统&#xff08;Operating System&#xff0c;OS&#xff09;是配置在计算机硬件上的第一层软件&#xff0c;是对硬件系统的首次扩充。主要作用是管理好这些设备&#xff0c;提高它们的利用率和吞吐量&…

ASP.NET MVC 扩展HtmlHelper类为 js ,css 资源文件添加版本号

写在前面 在项目部署当中会需要更新 css 文件或 js 等资源文件&#xff0c;为了避免由于浏览器缓存的原因无法加载新的 css 或 js &#xff0c;一般的做法是在资源文件的后面加上一个版本号来解决&#xff0c;这样浏览器就会去服务器下载新的资源文件。 如果某个 css 文件被多个…

生物学哲学:科学哲学的新视野

来源&#xff1a;自然辩证法研究 2003年第4期作者&#xff1a;周建漳在未经言明的情况下&#xff0c;“科学”一词通常总是指向“自然科学”&#xff0c;而在传统“科学哲学”的视野中&#xff0c;“科学”则又似乎“不言自明”地指向“数理科学”&#xff08;注&#xff1a;所…

计算机组成原理——指令与数据的寻址方式

计算机组成原理——指令与数据的寻址方式 前言&#xff1a; 指令的定义&#xff1a;计算机执行某种操作的命令。从计算机组成的层次结构来看&#xff0c;计算机的指令有微指令&#xff0c;机器指令&#xff0c;宏指令之分。 微指令&#xff1a;微程序级的命令&#xff0c;它属…

IBM被曝拟出售昔日明星业务Watson Health,10年医疗梦就此破碎?

来源&#xff1a;AI前线 整理&#xff1a;刘燕传 IBM 拟出售 Watson Health 业务据《华尔街日报》报道&#xff0c;IBM 或将出售 IBM Watson Health 业务。华尔街日报援引知情人士称&#xff0c;随着公司新任 CEO 开始精简公司规模&#xff0c;并在混合云计算领域发力&#xf…