1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-25 17:50:26 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/转换数组 [transformed-array].html
2024-12-20 00:35:26 +08:00

57 lines
2.8 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>给你一个整数数组 <code>nums</code>,它表示一个循环数组。请你遵循以下规则创建一个大小&nbsp;<strong>相同&nbsp;</strong>的新数组 <code>result</code>&nbsp;</p>
对于每个下标&nbsp;<code>i</code>(其中 <code>0 &lt;= i &lt; nums.length</code>),独立执行以下操作:
<ul>
<li>如果 <code>nums[i] &gt; 0</code>:从下标&nbsp;<code>i</code> 开始,向&nbsp;<strong>&nbsp;</strong>移动 <code>nums[i]</code> 步,在循环数组中落脚的下标对应的值赋给 <code>result[i]</code></li>
<li>如果 <code>nums[i] &lt; 0</code>:从下标&nbsp;<code>i</code> 开始,向&nbsp;<strong>&nbsp;</strong>移动 <code>abs(nums[i])</code> 步,在循环数组中落脚的下标对应的值赋给 <code>result[i]</code></li>
<li>如果 <code>nums[i] == 0</code>:将 <code>nums[i]</code> 的值赋给 <code>result[i]</code></li>
</ul>
<p>返回新数组 <code>result</code></p>
<p><strong>注意:</strong>由于 <code>nums</code> 是循环数组,向右移动超过最后一个元素时将回到开头,向左移动超过第一个元素时将回到末尾。</p>
<p>&nbsp;</p>
<p><strong class="example">示例 1</strong></p>
<div class="example-block">
<p><strong>输入:</strong> <span class="example-io">nums = [3,-2,1,1]</span></p>
<p><strong>输出:</strong> <span class="example-io">[1,1,1,3]</span></p>
<p><strong>解释:</strong></p>
<ul>
<li>对于 <code>nums[0]</code> 等于 3向右移动 3 步到 <code>nums[3]</code>,因此 <code>result[0]</code> 为 1。</li>
<li>对于 <code>nums[1]</code> 等于 -2向左移动 2 步到 <code>nums[3]</code>,因此 <code>result[1]</code> 为 1。</li>
<li>对于 <code>nums[2]</code> 等于 1向右移动 1 步到 <code>nums[3]</code>,因此 <code>result[2]</code> 为 1。</li>
<li>对于 <code>nums[3]</code> 等于 1向右移动 1 步到 <code>nums[0]</code>,因此 <code>result[3]</code> 为 3。</li>
</ul>
</div>
<p><strong class="example">示例 2</strong></p>
<div class="example-block">
<p><strong>输入:</strong> <span class="example-io">nums = [-1,4,-1]</span></p>
<p><strong>输出:</strong> <span class="example-io">[-1,-1,4]</span></p>
<p><strong>解释:</strong></p>
<ul>
<li>对于 <code>nums[0]</code> 等于 -1向左移动 1 步到 <code>nums[2]</code>,因此 <code>result[0]</code> 为 -1。</li>
<li>对于 <code>nums[1]</code> 等于 4向右移动 4 步到 <code>nums[2]</code>,因此 <code>result[1]</code> 为 -1。</li>
<li>对于 <code>nums[2]</code> 等于 -1向左移动 1 步到 <code>nums[1]</code>,因此 <code>result[2]</code> 为 4。</li>
</ul>
</div>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= nums.length &lt;= 100</code></li>
<li><code>-100 &lt;= nums[i] &lt;= 100</code></li>
</ul>