- 浏览: 183396 次
- 性别:
- 来自: 济南
文章分类
最新评论
Rotate an array of n elements to the right by k steps.
For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].
将一个数组右移k步,如果我们直接移动k次,会超时。我们可以先反转后k个元素,然后在反转前length - k个元素,最后将整个数组反转,就得到了结果。k在运算的时候要先于数组取模,因为k可能大于数组的长度。代码如下:
For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].
将一个数组右移k步,如果我们直接移动k次,会超时。我们可以先反转后k个元素,然后在反转前length - k个元素,最后将整个数组反转,就得到了结果。k在运算的时候要先于数组取模,因为k可能大于数组的长度。代码如下:
public class Solution { public void rotate(int[] nums, int k) { if(nums == null) return; k %= nums.length; reverse(nums, 0, nums.length - k); reverse(nums, nums.length - k, nums.length); reverse(nums, 0, nums.length); } public void reverse(int[] nums, int start, int end) { while(start < end) { int tem = nums[start]; nums[start++] = nums[--end]; nums[end] = tem; } } }
发表评论
-
498. Diagonal Traverse
2019-11-15 13:52 265Given a matrix of M x N eleme ... -
496 Next Greater Element I
2019-11-14 13:50 267You are given two arrays (witho ... -
Word Break II
2016-03-09 03:15 384Given a string s and a dictiona ... -
Insert Interval
2016-03-08 02:11 374Given a set of non-overlapping ... -
Merge Intervals
2016-03-07 05:25 497Given a collection of intervals ... -
Merge k Sorted Lists
2016-03-07 04:03 563Merge k sorted linked lists and ... -
Multiply Strings
2016-03-06 07:27 475Given two numbers represented a ... -
N-Queens II
2016-03-06 03:06 664Follow up for N-Queens problem. ... -
N-Queens
2016-03-06 02:47 469The n-queens puzzle is the prob ... -
First Missing Positive
2016-03-05 03:09 429Given an unsorted integer array ... -
Spiral Matrix
2016-03-04 03:39 575Given a matrix of m x n element ... -
Trapping Rain Water
2016-03-04 02:54 580Given n non-negative integers r ... -
Repeated DNA Sequences
2016-03-03 03:10 426All DNA is composed of a series ... -
Increasing Triplet Subsequence
2016-03-02 02:48 898Given an unsorted array return ... -
Maximum Product of Word Lengths
2016-03-02 01:56 929Given a string array words, fin ... -
LRU Cache
2016-02-29 10:37 602Design and implement a data str ... -
Super Ugly Number
2016-02-29 07:07 672Write a program to find the nth ... -
Longest Increasing Path in a Matrix
2016-02-29 05:56 842Given an integer matrix, find t ... -
Coin Change
2016-02-29 04:39 782You are given coins of differen ... -
Minimum Height Trees
2016-02-29 04:11 704For a undirected graph with tre ...
相关推荐
1 Rotate Array in Java 15 2 Reverse Words in a String II 19 3 Evaluate Reverse Polish Notation 21 4 Isomorphic Strings 25 5 Word Ladder 27 6 Word Ladder II 29 7 Median of Two Sorted Arrays 33 8 Kth ...
* Rotate Array in Java:该题目要求将数组旋转一定的次数,实现方法使用了循环移位的方法。 * Evaluate Reverse Polish Notation:该题目要求对逆波兰表示法的字符串进行求值,实现方法使用了栈的数据结构。 * ...
1. Rotate Array in Java 数组旋转是一个基本的数组操作,要求将数组中的元素旋转一定的位置。这种操作可以使用Java的System.arraycopy()方法或手动循环实现。 2. Evaluate Reverse Polish Notation 逆波兰表示法...
$ npm install --save array-rotate 用法 var rotateArray = require ( 'array-rotate' ) ; var arr = rotateArray . createArray ( 1 , 2 , 3 , 4 , 5 , 6 ) ; var positionToRotate = 2 ; var newArr = ...
17. 反转问题:如Rotate Array in Java(在Java中旋转数组),反转数组或字符串的某一部分。 18. 动态规划高级问题:比如Word Ladder(单词梯度),寻找从一个单词到另一个单词变化的最短路径。 19. 高级数据结构...
189.rotate-array.js /* * @lc app=leetcode id=189 lang=javascript * * [189] Rotate Array * * https://leetcode.com/problems/rotate-array/description/ * * algorithms * Easy (28.74%) * Total Accepted: 262...
23. **Rotate Array**:将数组顺时针旋转指定步数。可以先反转整个数组,再反转前半部分和后半部分。 24. **Summary Ranges**:将连续的数字范围合并。这可以通过迭代数组并跟踪当前范围来实现。 25. **Reverse ...
## Array | # | Title | Solution | Time | Space | Difficulty | Tag | Note| |-----|---------------- | --------------- | --------------- | --------------- | ------------- |--------------|-----| 15 | [3 ...
6. 旋转数组的最小数字(Rotate Array):涉及到数组的旋转操作,可以利用一次反转来完成。 7. 整数反转(Reverse Integer):通过位运算实现整数的翻转,需要注意溢出问题。 8. 字符串到整数(atoi)(String to ...
算法概念和算法课程。4.1 数组。... Algorithm to rotate array of size 'n' by 'd' elements6. Algorithm to segregate 0's and 1's in an array7. Find the maximum difference between two elemen
leetcode 浇花力扣解决方案 简单的 #0001 - Two Sum ...Rotate Array #0217 - Contains Duplicate #0242 - Valid Anagram #0243 - Shortest Word Distance #0246 - Strobogrammatic Number #0263 -
Rotate Array (旋转数组) #数组 33. Search in Rotated Sorted Array(搜索旋转排序数组)#数组 2020/12/08 19. Remove Nth Node From End of List(删除链表的倒数第N个节点) 153. Find Minimum in Rotated Sorted...
PS:初学算法,开始刷leetcode,Rotate array的预备知识(写的代码Time Limit Exceed难过)于是百度高效算法,本篇作为预备知识。 1、strcpy和strncpy函数 这个不陌生,大一学C语言讲过,其一般形式为strcpy(字符...
Rotate Array 描述:数组向右旋转k个位置 思路:见编程珠玑2.3节 414. Third Maximum Number 描述:找出int[] A里第三大的元素,如不存在返回最大元素 思路:不用排序不用去重的解法,维护三个变量x1, x2, x3,遍
Xilinx Cordic Rotate工程文件,是基于FPGA(Field Programmable Gate Array)技术,利用Cordic(Coordinate Rotation Digital Computer)算法实现的一种向量旋转功能。Cordic算法,又称为坐标旋转数字计算机,是一...
LeetCode中的这类问题涵盖了排序、查找、反转等操作,如“两数之和”(Two Sum)、“旋转数组”(Rotate Array)和“合并两个有序链表”(Merge Two Sorted Lists)。 2. **栈和队列**:这两种线性结构在处理逆序...
3. 旋转数组的最小数字(Rotate Array):理解数组操作,可能涉及到双指针技巧。 4. 最长回文子串(Longest Palindromic Substring):动态规划的应用。 5. 有效的括号(Valid Parentheses):栈的数据结构用于检查...
3. **数组旋转**:如“旋转数组”(Rotate Array),需要对数组进行特定步数的逆时针或顺时针旋转。 4. **滑动窗口**:在数组中使用滑动窗口进行统计,如“最长连续序列”(Longest Consecutive Sequence)。 5. *...
============ 面试问题:编写一个函数,该函数接受一个整数数组并返回该数组旋转了 N 个位置。 例如,如果 N=2,给定输入数组 [1, 2, 3, 4, 5, 6] 函数应该返回 [5, 6, 1, 2, 3, 4] 解决方案: 用递归解决。...