1、题目描述

原地反转给定的数组,原地意味着你不能使用额外的空间。

2、AC程序

(1)利用C++自带的函数

class Solution {
public:void reverseArray(vector<int> &nums) {reverse(nums.begin(),nums.end());}
};

(2)自己用交换函数写

class Solution {
public:void reverseArray(vector<int> &nums) {int temp;int j = nums.size();for(int i=0; i<--j ; i++){temp = nums[i];nums[i] = nums[j];nums[j] = temp ;}}
};

(3)借助自带的swap函数

class Solution {
public:void reverseArray(vector<int> &nums) {int temp;int j=nums.size();for(int i=0; i<--j ; i++){swap(nums[i],nums[j]);}}
};

(4)我的错误代码

class Solution {
public:void reverseArray(vector<int> &nums) {int temp = 0;for(int i=0; i<nums.size()/2 + 1; i++){//swap(nums[i],nums[nums.size()-i+1]);temp = nums[i];nums[i] = nums[nums.size() - i +1];nums[nums.size() - i +1] = temp;}}
};

错误原因:当i=0时,size-i+1=size+1,越界。数组下标是从0开始的。

修改后的正确代码:

class Solution {
public:void reverseArray(vector<int> &nums) {int temp = 0;for(int i=0; i<nums.size()/2; i++){//swap(nums[i],nums[nums.size()-i-1]);temp = nums[i];nums[i] = nums[nums.size() - i -1];nums[nums.size() - i -1] = temp;}}
};


Lintcode--6(767)--翻转数组相关推荐

  1. B10_NumPy数组操作、修改数组形状、翻转数组、修改数组维度、连接数组、分割数组、数组元素的添加与删除

    NumPy数组操作 Numpy 中包含了一些函数用于处理数组,大概可分为以下几类: 修改数组形状 翻转数组 修改数组维度 连接数组 分割数组 数组元素的添加与删除 修改数组形状 函数 描述 resha ...

  2. python3-numpy 数组操作--修改数组形状、翻转数组、修改数组维度、连接数组、分割数组、数组元素的添加与删除

    1.修改数组形状 函数 描述 reshape 不改变数据的条件下修改形状 flat 数组元素迭代器 flatten 返回一份数组拷贝,对拷贝所做的修改不会影响原始数组 ravel 返回展开数组 1.1 ...

  3. 知识点2:js(javascript)中检测是否为数组的两种方法【翻转数组案例】

    javascript基础知识 文章目录 javascript基础知识 前言 一.翻转数组案例 二.检测数组的两种方法 1.如果传输的参数不是数组 2.instanceof 运算符 可以用来检测是否满足 ...

  4. JavaScript 遍历数组 翻转数组与冒泡排序法

    使用遍历数组的方式   翻转数组中的元素  ['a','b','c','d']    ['d','c','b','a'] 代码实例: //使用遍历数组的方式,翻转数组中的元素 var arr = [' ...

  5. 翻转数组php,php 翻转数组的方法

    php中的数组可以通过数组处理函数 array_reverse() 对数组内的元素进行翻转并以倒序的形式进行输出,当然 array_reverse() 函数在使用时需要注意的地方有很多,下面就来详细的 ...

  6. JavaScript翻转数组

    JavaScript翻转数组 一.翻转数组(末尾位置) 方法一 方法二 二.翻转数组(任意位置) 三.扩展 一.翻转数组(末尾位置) 示例: arr = [1,2,3,4,5], 翻转后 arr = ...

  7. 利用函数(求数组最大值、判断平年闰年、翻转数组、判断是否为素数)

    函数案例 1.利用函数求求两个数的最大值 //利用函数 求两个数的最大值function getMax(num1,num2){//if(num1 > num2){// return num1;/ ...

  8. 微信小程序--翻转数组

    前言 开始接触小程序的时候,做了一个发布信息类的小程序,但是当时有个问题忽略了,理论上最新发布的信息应该出现在最前面,但是由于插入数组的时候,默认使用了插入尾部.     当时自己的解决方法是利用发布 ...

  9. 翻转数组(flip()函数)--numpy

    1. 函数功能 沿着指定轴翻转数组元素的顺序,数组形状保持不变,但是数组元素顺序会被重排 2. 函数语法 numpy.flip(m, axis=None) 3. 函数参数与示例 参数 含义 m 输入数 ...

最新文章

  1. Linux下自动分割Nginx日志文件(三)-----Logrotate
  2. jQuery事件之鼠标事件
  3. mysql 语法积累
  4. 使用Lua编写whireshark插件
  5. 独立开发者分享:游戏本地化的6个建议
  6. JDBC中的SPI实现
  7. javaweb学习总结(二十三):jsp自定义标签开发入门
  8. 不均匀正负样本分布下的机器学习
  9. 聚合天气--ajax 通过城市名取数据
  10. TIOBE 6 月编程语言排行榜:Python 势不可挡,或在四年之内超越 Java、C
  11. 哈萨比斯首次解读AlphaZero竟被当场diss,他起身当面回击说…
  12. VS2017编译配置和使用LOG4CPP
  13. 多次请求后tomcat网页假死
  14. Windows显示文件名后缀的方法
  15. 1.CPU基本工作流程
  16. js刻度尺插件_html5 canvas+js刻度尺代码
  17. ora-29861: 域索引标记为loading/failed/unusable
  18. “开宝五子棋陪练”软件的隐私政策
  19. 微信小程序-项目初始化
  20. WildFly:如何从位于另一个应用程序中的 EJB 调用 EJB

热门文章

  1. windows安装python3步骤_Windows下python3和python2安装与一起使用
  2. 电话光端机的电话接口类型有哪些?
  3. 中继器、集线器、网桥、网关产品介绍
  4. 工业以太网在工业领域的应用特点详解
  5. 21秋期末考试工商企业文化10631k2
  6. 【渝粤教育】10259k2_经济学基础_21秋考试
  7. linux usb声卡 submit urb,linux usb urb详解
  8. linux 下对u盘分区吗,linux对中毒u盘分区和格式化
  9. feeder link
  10. mysql 更新时间加数字_Mysql实战45讲笔记:8、聚合函数count