ICode9

精准搜索请尝试: 精确搜索
  • 两个有序链表的合并2022-07-30 23:00:14

    package class04; /*** * 两个有序链表的合并 * * 给定两个有序链表的头节点head1和head2, * 返回合并之后的大连表,要求依然有序。 */ public class Code06_MergeTwoSortedLinkedList { public static class ListNode { public int val; public ListNod

  • 15. 合并二叉树2022-05-29 01:02:02

    title: 合并二叉树

  • 二进制加法-Js2022-05-20 11:04:43

    function add(a, b) { let i = a.length; let j = b.length; let up = 0; let res = []; // console.log(i,j); while (i > 0 || j > 0) { let cur1 = a.charAt(i -

  • 【算法】求两单链表的第一个相遇点2022-01-19 23:34:26

    题目 给定两个可能有环也可能无环的单链表,头节点 head1 和 head2。请实现一个函数,如果两链表相交,请返回相交的第一个节点,不相交返回null。要求:如果两链表长度之和为N,时间复杂度为O(N),额外空间复杂度为O(1)。 题解 首先判断两链表有无环,如果有环则求出入环点 如果两链表均无环则有

  • 合并两个排序的链表python(剑指offer 25)2021-12-14 22:33:36

    # 剑指 Offer 25. 合并两个排序的链表 示例1: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 # Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(

  • LeetCode 21.合并两个有序链表2021-12-13 21:01:10

    题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 分析 定义result储存结果,将两个链表各自遍历一遍,每次各拿出一个结点比较,把较小的连接在result后面,直到至少有一个链表元素全用完,此时,将另一个链表剩余部分直接连接在

  • Java实现常见的判断单双链表是否有环和是否相交的问题2021-10-03 19:03:20

    1.判断两个链表是否有环 基本思路: 如果链表有环,那么在遍历链表时则会陷入死循环,利用这个特征,我们可以设计这样的算法。 使用一个slow指针,一个fast指针slow指针一次往后遍历以1个节点,fast指针一次往后遍历2个节点,一直做这样的操作如果fast指针在遍历过程中,遍历到了NULL节点说

  • 合并两个有序数组2021-07-31 14:34:14

        详细思路 right是已经 cur1是需要cur2是需要 防止覆盖,逆向,大的right--放进去,-- class Solution { public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int right=m+n,cur1=m-1,cur2=n-1; while(1){ if(cur1==

  • 算法学习12:两个单链表相交的一系列问题2021-03-03 09:05:28

    题目 在本题中,单链表可能有环,也可能无环。给定两个单链表的头节点 head1和head2,这两个链表可能相交,也可能不相交。请实现一个函数, 如果两个链表相交,请返回相交的第一个节点;如果不相交,返回null 即可。 要求:如果链表1的长度为N,链表2的长度为M,时间复杂度请达到 O(N+M),额外空间复

  • 剑指offer之两个链表的第一个公共节点2021-01-30 11:31:41

    如何让本来长度不相等的变为相等的? 假设链表A长度为a, 链表B的长度为b,此时a != b 但是,a+b == b+a 因此,可以让a+b作为链表A的新长度,b+a作为链表B的新长度。 public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) { if (pHead1 == null||pHead2 ==

  • 程序员面试金典 面试题 02.07. 链表相交2021-01-27 18:58:47

    给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。 示例 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,

  • LeetCode:每日一题:28. 实现 strStr()2020-12-24 13:29:06

    题目: 28. 实现 strStr() 实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 输入: haystack = "hello", needle = "ll" 输出: 2 示例 2: 输入: haystac

  • cf 1406b2020-09-13 20:32:46

    此题思路当时是有的,主要是debug太久了 主要思路 一般情况,优先选择绝对值大的,我是正负分开的,选abs大的乘进去。最后如果是负的 那就除掉最后的正数,再乘下一个负数 或者 除掉最后的负数,再乘下一个正数 特殊1 只有五个数,直接连乘 特殊2 只有负数,结果必为负,选绝对值小的 细节方面 i

  • 二叉树遍历的最优解法2020-06-25 21:55:54

    1. 题目 给定一棵二叉树的头节点head,完成二叉树的先序、中序和后序遍历。要求时间复杂度为O(N),额外空间复杂度为O(1) 2. 思路 常规的遍历二叉树的思路是递归和非递归的解法,但是这两种解法都不能做到额外空间复杂度为O(1)。 首先来看普通的递归和非递归解法,导致它们空间复杂度高的

  • 每日一题 为了工作 2020 0406 第三十五题2020-04-06 13:02:55

    /** * * 问题:合并两个有序的单链表 * 给定两个有序单链表的头节点 head1和head2, 请合并两个有序链表, 合并后的链表依然有序, * 并返回合并后链表的头节点。 * 例如: * 0->2->3->7->null * 1->3->5->7->9->null * 合并后的链表为: 0-> 1->2->3-

  • 【leetcode】23.合并K个排序链表2020-02-04 09:00:47

    https://leetcode-cn.com/problems/merge-k-sorted-lists/ 这道题的前置题目是合并两个排序链表 https://leetcode-cn.com/problems/merge-two-sorted-lists/ 暴力法 将所有链表合并后排序 时间复杂度O(NlogN) N= 总节点数量 空间复杂度O(N) 归并 基于合并两个排序链表,我们可

  • 练习题2019-11-03 21:52:40

    给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例:输入:(2 -> 4 -> 3)

  • 两数相加2019-06-08 18:55:05

    思路: 取出链表对应结点的值,相加结果存到新链表对应的结点,由于每个结点只存一位数,而相加结果有可能是两位,因此需要进位,每次相加时将进位加入计算。 具体如下: 创建两个结点用来分别遍历两个链表,都指向对应链表的首结点。创建新链表存放结果,初始化值为0,创建一个结点用来存放每次的结果

  • 复杂链表的复制2019-05-16 17:55:06

    题目: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 思路: 1.先把每个节点复制出一个节点并把每个复制出的节点连

  • NOI2010 超级钢琴2019-04-09 10:48:27

    题目链接:戳我 就是我们考虑记录一个三元组qwq,一个是pos,一个是l,一个是r。 我们可以用ST表来查询固定左端点,右端点在一段区间内的最大值所在的位置。 然后我们使用优先队列,不断累加最大值,然后弹出,求它的区间的子区间内的最大值。 代码如下: #include<iostream> #include<cstring> #i

  • 存储过程定义多个游标多个begin2019-02-13 11:40:46

    1、直接定义多个显示游标 CREATE OR REPLACE PROCEDURE ACC.DBP_REALCITYTRAFFICCNT IS CURSOR cur1 IS SELECT 。。。 --第一个游标 CURSOR cur2 IS SELECT 。。。 --第二个游标 BEGIN --调用cur1 BEGIN OPEN cur1 ;     LOOP   FETCH cur1 INTO 。。。   EXIT WHE

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有