<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Zinphy’s blog</title>
        <link>https://zouysay.cn/</link>
        <description>林间细语</description>
        <lastBuildDate>Thu, 11 Jul 2024 11:50:01 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en-US</language>
        <copyright>All rights reserved 2024, Zinphy</copyright>
        <item>
            <title><![CDATA[二叉树中的最大路径和]]></title>
            <link>https://zouysay.cn/article/2ee59aa2-9f5d-4c84-a1e7-c0f6d67716ae</link>
            <guid>https://zouysay.cn/article/2ee59aa2-9f5d-4c84-a1e7-c0f6d67716ae</guid>
            <pubDate>Wed, 10 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[二叉树中的 路径 被定义为一条节点序列，序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点，且不一定经过根节点。]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-2ee59aa29f5d4c84a1e7c0f6d67716ae"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-blank notion-block-fac23436ebe24087b0b7b1f393891efc"> </div><div class="notion-text notion-block-2f2cec0a65ff49389d14891f0729bb55"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://leetcode.cn/problems/binary-tree-maximum-path-sum/description/">leetCode 124 </a><b><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://leetcode.cn/problems/binary-tree-maximum-path-sum/description/">二叉树中的最大路径和</a></b></div><div class="notion-blank notion-block-ede5c4782e2f47e4949de5787dac06d7"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-6e95efbb4b224d36ae466268006308b1" data-id="6e95efbb4b224d36ae466268006308b1"><span><div id="6e95efbb4b224d36ae466268006308b1" class="notion-header-anchor"></div><a class="notion-hash-link" href="#6e95efbb4b224d36ae466268006308b1" title="题目：二叉树中的最大路径和"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">题目：<b>二叉树中的最大路径和</b></span></span></h2><div class="notion-text notion-block-ece40623ec024c3cbb617158b283fc03">二叉树中的<b> 路径</b> 被定义为一条节点序列，序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 <b>至多出现一次</b> 。该路径<b> 至少包含一个 </b>节点，且不一定经过根节点。</div><div class="notion-text notion-block-ac6d667fb76649caa20e3aa0006d5b81"><b>路径和</b> 是路径中各节点值的总和。</div><div class="notion-text notion-block-a073cfe6fec04635963ee9f8314eaff9">给你一个二叉树的根节点 <code class="notion-inline-code">root</code> ，返回其 <b>最大路径和</b> 。</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-c9dc8ec7c25b4c6babeee51e23d2d0d9" data-id="c9dc8ec7c25b4c6babeee51e23d2d0d9"><span><div id="c9dc8ec7c25b4c6babeee51e23d2d0d9" class="notion-header-anchor"></div><a class="notion-hash-link" href="#c9dc8ec7c25b4c6babeee51e23d2d0d9" title="示例 1："><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>示例 1：</b></span></span></h4><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-9d5dd5f88f364e05984df82b9dea661e"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:322px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://assets.leetcode.com/uploads/2020/10/13/exx1.jpg?t=9d5dd5f8-8f36-4e05-984d-f82b9dea661e" alt="notion image" loading="lazy" decoding="async"/></div></figure><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-54f9239df2304b90a32b61dcd1cc3fcd" data-id="54f9239df2304b90a32b61dcd1cc3fcd"><span><div id="54f9239df2304b90a32b61dcd1cc3fcd" class="notion-header-anchor"></div><a class="notion-hash-link" href="#54f9239df2304b90a32b61dcd1cc3fcd" title="示例 2："><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>示例 2：</b></span></span></h4><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-fa684acefc8e491bbe4a16941780160a"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:336px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://assets.leetcode.com/uploads/2020/10/13/exx2.jpg?t=fa684ace-fc8e-491b-be4a-16941780160a" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-1772b5aadb9444da95869a3ff4c7f0ec"><b>提示：</b></div><ul class="notion-list notion-list-disc notion-block-95cfc144fafa44a7983f184a2f003277"><li>树中节点数目范围是 <code class="notion-inline-code">[1, 3 * 104]</code></li></ul><ul class="notion-list notion-list-disc notion-block-37a67ee401784113a26f8c1e89bde07c"><li><code class="notion-inline-code">1000 &lt;= Node.val &lt;= 1000</code></li></ul><div class="notion-blank notion-block-598a11a4694d4e54baacfe14ad053d17"> </div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-80c15751b5164a948850bd17ca22b4ba" data-id="80c15751b5164a948850bd17ca22b4ba"><span><div id="80c15751b5164a948850bd17ca22b4ba" class="notion-header-anchor"></div><a class="notion-hash-link" href="#80c15751b5164a948850bd17ca22b4ba" title="解题思路"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">解题思路</span></span></h3><div class="notion-blank notion-block-c7bf1f93f2f44152bf7d9f68a938321f"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[最长递增子序列]]></title>
            <link>https://zouysay.cn/article/1c1bfc10-342b-458a-9e26-3619d248c3ba</link>
            <guid>https://zouysay.cn/article/1c1bfc10-342b-458a-9e26-3619d248c3ba</guid>
            <pubDate>Tue, 09 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[给你一个整数数组 nums ，找到其中最长严格递增子序列的长度。
子序列 是由数组派生而来的序列，删除（或不删除）数组中的元素而不改变其余元素的顺序。例如，[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。
]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-1c1bfc10342b458a9e263619d248c3ba"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-414eb0135a31456f8dc7088e60b77a07" data-id="414eb0135a31456f8dc7088e60b77a07"><span><div id="414eb0135a31456f8dc7088e60b77a07" class="notion-header-anchor"></div><a class="notion-hash-link" href="#414eb0135a31456f8dc7088e60b77a07" title="最长递增子序列"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>最长递增子序列</b></span></span></h2><div class="notion-blank notion-block-8335422f29814cfab5a413e9ced0509a"> </div><div class="notion-text notion-block-761829414e9a45a9ab8158ce673a4023">给你一个整数数组 <code class="notion-inline-code">nums</code> ，找到其中最长严格递增子序列的长度。</div><div class="notion-text notion-block-73bad21655e24a16921ac11aec8dc0d5"><b>子序列 </b>是由数组派生而来的序列，删除（或不删除）数组中的元素而不改变其余元素的顺序。例如，<code class="notion-inline-code">[3,6,2,7]</code> 是数组 <code class="notion-inline-code">[0,3,1,6,2,2,7]</code> 的</div><div class="notion-text notion-block-d8659821e08b43c7ae67ed70777d1a81">子序列</div><div class="notion-blank notion-block-18af108199be48c295940cdfd031df0f"> </div><div class="notion-text notion-block-8e34b2e5872f4b54b4acf5a57e4760fd"><b>示例 1：</b></div><div class="notion-text notion-block-9d6bd605622a445f92ff9d82b0794f59"><b>示例 2：</b></div><div class="notion-text notion-block-e64bad2ca55c40ddb5ac956a713b5877"><b>示例 3：</b></div><div class="notion-blank notion-block-edbea15a7e1849c5b74ca7945f597fab"> </div><div class="notion-text notion-block-17e1db1affd44eb2bafdb00cdbfd03b4"><b>提示：</b></div><ul class="notion-list notion-list-disc notion-block-fd16f87830084a8f8dba4b9fbedb1a50"><li><code class="notion-inline-code">1 &lt;= nums.length &lt;= 2500</code></li></ul><ul class="notion-list notion-list-disc notion-block-b4fd47b4d1a84d8d86b55fb5af756a82"><li><code class="notion-inline-code">104 &lt;= nums[i] &lt;= 104</code></li></ul><div class="notion-text notion-block-9d7c0a19c44e4f9bb70265a746ad5830"><b>进阶：</b></div><ul class="notion-list notion-list-disc notion-block-f690054838814a54b407da85ae795203"><li>你能将算法的时间复杂度降低到 <code class="notion-inline-code">O(n log(n))</code> 吗?</li></ul><div class="notion-blank notion-block-44605ffb718b4429afc7527d34a60c80"> </div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-a985ac450b544fbdb377505091351999" data-id="a985ac450b544fbdb377505091351999"><span><div id="a985ac450b544fbdb377505091351999" class="notion-header-anchor"></div><a class="notion-hash-link" href="#a985ac450b544fbdb377505091351999" title="思路"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">思路</span></span></h3><div class="notion-blank notion-block-5bba88d5ec9746158774d7e9805f6f1b"> </div><div class="notion-text notion-block-fd03bf166dea438483ff33a0f5a704df"><b>方法一：动态规划</b></div><div class="notion-text notion-block-b1feea796a7943749b8defa3ec2cf151">动态规划五步走：</div><div class="notion-text notion-block-c639a3b89344461fbfd0ce6a22ff50da">1、确定dp数组以及下标的含义
dp[i] 表示：以 nums[i] 为结尾的最长子序列长度。</div><div class="notion-text notion-block-c6fc9fc7eea6497e97621905da4e9521">2、确定递推公式
每轮计算新dp[i]时，都遍历dp[0]~dp[i−1] 数组区间，我们用dp[j]来表示当前记录当前遍历的元素，</div><ul class="notion-list notion-list-disc notion-block-caf11e6aea264f3287cf28bf2d00ed18"><li>如果 nums[i]&gt;nums[j]，nums[i] 可以接在 nums[j] 之后，此时0~i的最长递增子序列长度为dp[j]+1</li></ul><ul class="notion-list notion-list-disc notion-block-ab26e5bb1c2a4dc29f69c132bbe33d17"><li>如果 nums[i]&lt;=nums[j]，说明nums[i] 不可以接在 nums[j] 之后，跳过。</li></ul><ul class="notion-list notion-list-disc notion-block-b857d834169e49e08f7f77e47f7ca905"><li>走完整个循环，记录满足条件的dp[j]最大值。</li></ul><ul class="notion-list notion-list-disc notion-block-062611cd0d254b89b5f720faf8bd8d3f"><li>得出 dp[i] = max(dp[i], dp[j] + 1) for j in [0, i)</li></ul><div class="notion-text notion-block-df379dc3192a41c888273839a297a2e0">3、dp数组如何初始化
dp[0]=1即可。</div><div class="notion-text notion-block-41ba1da8d87b487599716f1f1d2c057b">4、确定遍历顺序
i 从 0 到 nums.length。</div><div class="notion-blank notion-block-7ae5aa9032b640cb9c538fd2b28e5696"> </div><div class="notion-text notion-block-931e53f2433c4320bf6d49701061a70d"><b>方法二：贪心 + 二分查找</b></div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[按公因数计算最大组件大]]></title>
            <link>https://zouysay.cn/article/algorithm/union</link>
            <guid>https://zouysay.cn/article/algorithm/union</guid>
            <pubDate>Mon, 08 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[给定一个由不同正整数组成的非空数组 nums，考虑下面的构图：
• 有 nums.length 个节点，按照从 nums[0]到 nums[nums.length-1]标记；
• 只有当 nums[i] 和 nums[j] 共用一个大于 1 的公因数时，nums[i] 和 nums[j] 之间才有一条边。]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-fd722035e52941b48056278560cd4b57"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><div class="notion-blank notion-block-fba63566d4be495e8e8ea860346e9b3e"> </div><div class="notion-text notion-block-32407439464a493fb471b91d136901f9">‣</div><div class="notion-text notion-block-51209e39ee5d4e1998a822012e7ab642"><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://pintia.cn/problem-sets/1740640628187717632/exam/problems/1740640696596824064?type=7&amp;page=0">PAT：按公因数计算最大组件大小</a></div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-b05056d8d6cc4ba5b2421191b2eab98b" data-id="b05056d8d6cc4ba5b2421191b2eab98b"><span><div id="b05056d8d6cc4ba5b2421191b2eab98b" class="notion-header-anchor"></div><a class="notion-hash-link" href="#b05056d8d6cc4ba5b2421191b2eab98b" title="按公因数计算最大组件大小"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>按公因数计算最大组件大小</b></span></span></h2><div class="notion-text notion-block-27f830b22d3349be8f2c4d6f7a3debb0">给定一个由不同正整数的组成的非空数组 <code class="notion-inline-code">nums</code> ，考虑下面的图：</div><ul class="notion-list notion-list-disc notion-block-6ecb03412cd24180baf4e9a73825589f"><li>有 <code class="notion-inline-code">nums.length</code> 个节点，按从 <code class="notion-inline-code">nums[0]</code> 到 <code class="notion-inline-code">nums[nums.length - 1]</code> 标记；</li></ul><ul class="notion-list notion-list-disc notion-block-129a4caeb31d4716bdb9fa7bf0817d2a"><li>只有当 <code class="notion-inline-code">nums[i]</code> 和 <code class="notion-inline-code">nums[j]</code> 共用一个大于 1 的公因数时，<code class="notion-inline-code">nums[i]</code> 和 <code class="notion-inline-code">nums[j]</code>之间才有一条边。</li></ul><div class="notion-text notion-block-49b2a7ed0adb4b3cb0ab383fcb5ee272">返回 <em>图中最大连通组件的大小</em> 。</div><div class="notion-text notion-block-66c422608ce34a55a50e1582a25edfdd"><b>示例 1：</b></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-ea13baec1f8040eb946e4d5e177415a6"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:500px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://assets.leetcode.com/uploads/2018/12/01/ex1.png?t=ea13baec-1f80-40eb-946e-4d5e177415a6" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-512421df562d47d8b81b5ee2e6815cc0"><b>示例 2：</b></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3b6a44ea3d3f478c81470a6fcd5b9820"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:500px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://assets.leetcode.com/uploads/2018/12/01/ex2.png?t=3b6a44ea-3d3f-478c-8147-0a6fcd5b9820" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-d8688e27f29c4f23a5c887a2c4adfd93"><b>示例 3：</b></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-75722ab2cfd546e89e65f2269ad8be89"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:500px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://assets.leetcode.com/uploads/2018/12/01/ex3.png?t=75722ab2-cfd5-46e8-9e65-f2269ad8be89" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-22d778c024a04d8292285ad7f7a97744"><b>提示：</b></div><ul class="notion-list notion-list-disc notion-block-442965032ac3455dbbd6b694133fa23c"><li><code class="notion-inline-code">1 &lt;= nums.length &lt;= 2 * 104</code></li></ul><ul class="notion-list notion-list-disc notion-block-5d93eb4f1d1d429e8f62382dbfb488d9"><li><code class="notion-inline-code">1 &lt;= nums[i] &lt;= 105</code></li></ul><ul class="notion-list notion-list-disc notion-block-ebf6f3a9237c4741b5cb4fd955e9c55f"><li><code class="notion-inline-code">nums</code> 中所有值都 <b>不同</b></li></ul><div class="notion-blank notion-block-1492cccc9fc14790b2144d75604fc2a2"> </div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-353963ac39714549b69a68fa050632c6" data-id="353963ac39714549b69a68fa050632c6"><span><div id="353963ac39714549b69a68fa050632c6" class="notion-header-anchor"></div><a class="notion-hash-link" href="#353963ac39714549b69a68fa050632c6" title="题解"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">题解</span></span></h3><div class="notion-text notion-block-44e22d2e8b6c417c880344fbccae6410">并查集</div><div class="notion-text notion-block-dce0d1fa9e8c4530afeaaa9d981827be">为了得到数组 nums 中的每个数和哪些数属于同一个组件，需要得到数组 nums 中的最大值 m，对于每个不超过 m 的正整数 num 计算 num 和哪些数属于同一个组件。对于范围 [2,<!-- -->] 内的每个正整数 i，如果 i 是 num 的因数，则 num 和 i、num/i都属于同一个组件。</div><div class="notion-text notion-block-15b03f20d629434b91382fc9126d4fce">可以使用并查集实现组件的计算。初始时，每个数分别属于不同的组件。如果两个正整数满足其中一个正整数是另一个正整数的因数，则这两个正整数属于同一个组件，将这两个正整数的组件合并。</div><div class="notion-text notion-block-44ffe6bfaf3746a78804c7481a314505">当所有不超过 m 的正整数都完成合并操作之后。遍历数组 nums，对于每个数得到其所在的组件并更新该组件的大小，遍历结束之后即可得到最大组件的大小。</div><div class="notion-blank notion-block-e5da977c947544739b36b96e3d1814e1"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[按格式合并两个链表]]></title>
            <link>https://zouysay.cn/article/algorithm/link</link>
            <guid>https://zouysay.cn/article/algorithm/link</guid>
            <pubDate>Thu, 04 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[给定两个链表L1=a1→a2→⋯→an−1→an 和L2=b1→b2→⋯→bm−1→bm，其中n≥2m。]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-f3a7c26a7edb42bd871807af50eefaa7"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-60254b1a1a0941a287a2b3aa248d3dfd" data-id="60254b1a1a0941a287a2b3aa248d3dfd"><span><div id="60254b1a1a0941a287a2b3aa248d3dfd" class="notion-header-anchor"></div><a class="notion-hash-link" href="#60254b1a1a0941a287a2b3aa248d3dfd" title="题目：按格式合并两个链表"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">题目：按格式合并两个链表</span></span></h2><div class="notion-text notion-block-e7b387df13324bcda9ddc98f2c9bca34">给定两个链表<em>L</em>1=<em>a</em>1→<em>a</em>2→⋯→<em>an</em>−1→<em>an</em> 和<em>L</em>2=<em>b</em>1→<em>b</em>2→⋯→<em>bm</em>−1→<em>bm</em>，其中<em>n</em>≥2<em>m</em>。</div><div class="notion-text notion-block-e273e2ce29214582b08096ef0c21ce2d">需要将较短的链表<em>L</em>2反转并合并到较长的链表<em>L</em>1中</div><div class="notion-text notion-block-707e8bd89e464398a8134168525a7b6f">使得合并后的链表如下形式：<em>a</em>1→<em>a</em>2→<em>bm</em>→<em>a</em>3→<em>a</em>4→<em>bm</em>−1→…</div><div class="notion-blank notion-block-ce0f3fec2dac487794ddd2cad450a1c8"> </div><div class="notion-text notion-block-e1055ab7aeb044bc93a571ad71b80d45">合并规则：在长链表中每隔两个元素，将短链表中的元素倒序插入。
例如：给定一个较长链表1→2→3→4→5，另外一个较短链表6→7，需要输出1→2→7→3→4→6→5</div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-73c88c456ab948f4a57b38fd00562ea2" data-id="73c88c456ab948f4a57b38fd00562ea2"><span><div id="73c88c456ab948f4a57b38fd00562ea2" class="notion-header-anchor"></div><a class="notion-hash-link" href="#73c88c456ab948f4a57b38fd00562ea2" title="输入格式:"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>输入格式:</b></span></span></h3><div class="notion-blank notion-block-4a07c92107a043c18ab23bbfd167f6a2"> </div><div class="notion-text notion-block-4bf36e5658fd4d7b8b293a1f1ff2e197"><b>第一行</b>包含两个链表的第一个节点地址（不确定哪个链表更长），以及两个链表的总节点数<em>N</em>(≤100000)。</div><div class="notion-text notion-block-5c74b2926f69448c93694b0c9c5edbb9">节点地址用一个 5 位非负整数表示（可能有前导 0），空地址 NULL 用 −1 表示。</div><blockquote class="notion-quote notion-block-2a31703a159d451084daf655d65d0d00"><div>例如：00100 01000 7。其中00100表示第一个链表的首个节点地址，01000表示第二个链表的首个节点地址，7表示两个链表的总节点数。</div></blockquote><div class="notion-text notion-block-c526768e328041b78cbad66701b795fe"><b>接下来N行</b>，每行描述一个节点的信息，格式如下：</div><div class="notion-text notion-block-4d3769fa55b14a5ba147f12edc17a0f4">Address Data Next</div><div class="notion-text notion-block-90da030c87df498d9d7d15556af250c6">其中 Address 是节点地址，Data 是一个绝对值不超过100000的整数，Next 是下一个节点的地址。</div><div class="notion-text notion-block-02fd3405bf3141a09214ddf6f09bf02b">保证两个链表都不为空，且较长的链表至少是较短链表长度的两倍。</div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-91004a4415ae47ccbd8cc06e0f0d0ead" data-id="91004a4415ae47ccbd8cc06e0f0d0ead"><span><div id="91004a4415ae47ccbd8cc06e0f0d0ead" class="notion-header-anchor"></div><a class="notion-hash-link" href="#91004a4415ae47ccbd8cc06e0f0d0ead" title="输出格式:"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>输出格式:</b></span></span></h3><div class="notion-text notion-block-dedf4797d22540ada02a3a6fde992840">对于每个测试用例，按顺序输出合并后的结果链表。每个结点占一行，按输入的格式输出。</div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-9ca7080f545043cda8bc5117974c5f20" data-id="9ca7080f545043cda8bc5117974c5f20"><span><div id="9ca7080f545043cda8bc5117974c5f20" class="notion-header-anchor"></div><a class="notion-hash-link" href="#9ca7080f545043cda8bc5117974c5f20" title="输入样例:"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>输入样例:</b></span></span></h3><div class="notion-text notion-block-5164b7988eb94658b61d6b7f7bc42403">在这里给出一组输入。例如：</div><div class="notion-text notion-block-8dac0b1ad6f04d39acb8d6d86a284c2f">00100 01000 7
02233 2 34891
00100 6 00001
34891 3 10086
01000 1 02233
00033 5 -1
10086 4 00033
00001 7 -1</div><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-917e3ba595ab4de5b4d8685f7e9af6e2" data-id="917e3ba595ab4de5b4d8685f7e9af6e2"><span><div id="917e3ba595ab4de5b4d8685f7e9af6e2" class="notion-header-anchor"></div><a class="notion-hash-link" href="#917e3ba595ab4de5b4d8685f7e9af6e2" title="输出样例:"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>输出样例:</b></span></span></h3><div class="notion-text notion-block-316cf7c7f27442f0a851131932dc6a0b">在这里给出相应的输出。例如：</div><div class="notion-text notion-block-6ef2ff2987714ec099bede7e4fcac1b6">01000 1 02233
02233 2 00001
00001 7 34891
34891 3 10086
10086 4 00100
00100 6 00033
00033 5 -1</div><div class="notion-blank notion-block-f3f8bcea753d4d279d0463df61b8ab3c"> </div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-758d86d38eaa449ba326d1ce38c1816f" data-id="758d86d38eaa449ba326d1ce38c1816f"><span><div id="758d86d38eaa449ba326d1ce38c1816f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#758d86d38eaa449ba326d1ce38c1816f" title="思路&amp;解法"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">思路&amp;解法</span></span></h2><h3 class="notion-h notion-h2 notion-h-indent-1 notion-block-9a28ec4879344f8bb3862910c7ce65e8" data-id="9a28ec4879344f8bb3862910c7ce65e8"><span><div id="9a28ec4879344f8bb3862910c7ce65e8" class="notion-header-anchor"></div><a class="notion-hash-link" href="#9a28ec4879344f8bb3862910c7ce65e8" title="JavaScript"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">JavaScript</span></span></h3></main></div>]]></content:encoded>
        </item>
    </channel>
</rss>