轮转数组(Java)
大家好我是苏麟 , 这篇文章是凑数的 ...
轮转数组
描述 :
给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。
题目 :
牛客 NC110 旋转数组:

这里牛客给出了数组长度我们直接用就可以了 .
LeetCode 189.轮转数组 :
189. 轮转数组

分析 :
这个题怎么做呢?你是否想到可以逐次移动来实现? 理论上可以,但是实现的时候会发现要处理的情况非常多,比较难搞。这里介绍一种简单的方法: 两轮翻转
方法如下:
1.首先对整个数组实行翻转,例如[1,2,3,4,5,6,7] 我们先将其整体翻转成[7,6,5,4,3,2,1].
2.从 k 处分隔成左右两个部分,这里就是根据k将其分成两组 [7,6,5] 和[4,3,2,1].
3.最后将两个再次翻转就得到[5,6,7] 和[1,2,3,4],最终结果就是[5,6,7,1,2,3,4].
解析 :
// LeetCode
class Solution {public void rotate(int[] nums, int k) {k %= nums.length;exchange(nums, 0 , nums.length -1);exchange(nums, 0 , k -1 );exchange(nums, k, nums.length -1);}public void exchange(int[] arr , int left , int right){while(left <= right){int temp =arr[left];arr[left] = arr[right];arr[right] = temp;left++;right--;}}
}
这篇文章会合并到算法通关村第三关白银练习里 .
相关文章:
轮转数组(Java)
大家好我是苏麟 , 这篇文章是凑数的 ... 轮转数组 描述 : 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 题目 : 牛客 NC110 旋转数组: 这里牛客给出了数组长度我们直接用就可以了 . LeetCode 189.轮转数组 : 189. 轮…...
Spring体系结构
Spring体系结构 核心容器 核心容器由 spring-core,spring-beans,spring-context,spring-context-support和spring-expression(SpEL,Spring 表达式语言,Spring Expression Language)等模块组成&…...
PostgreSQL basebackup备份和恢复
一、概述 备份和恢复分为逻辑和物理,这里指物理备份和恢复。 PG的物理备份依赖basebackup,这差不多就是数据目录的拷贝,还依赖归档日志。 恢复分为完全恢复和PITR恢复,它们都需要归档日志,它们关键的差别是…...
XTU-OJ 1248-Alice and Bob
Alice和Bob在玩骰子游戏,他们用三颗六面的骰子,游戏规则如下: 点数的优先级是1点最大,其次是6,5,4,3,2。三个骰子点数相同,称为"豹子",豹子之间按点数优先级比较大小。如果只有两个骰子点数相同&…...
第四章 文件管理 十、文件系统的全局结构
目录 一、文件系统的建立 1、原始磁盘 2、物理格式化后 3、逻辑格式化后 二、文件系统在内存中的结构 三、系统调用背后的过程 一、文件系统的建立 1、原始磁盘 2、物理格式化后 物理格式化,即低级格式化――划分扇区,检测坏扇区,并用…...
【PythonGIS】基于高德Api实现批量地址查询经纬度
之前因为同事需要几千个小区的经纬度信息,所以就帮同事写了一段Python代码,通过调取高德地图的api实现地址查询经纬度这个功能。对于如何使用经纬度查询地址的方法,我之前分享过博文:【Python入门教程】获取图片可视化精准定位&am…...
vue数组中的变更方法和替换方法
变更方法: Vue 能够侦听响应式数组的变更方法,并在它们被调用时触发相关的更新。这些变更方法包括: push():在数组末尾添加一个或者多个元素,返回新的长度。 var arr [1, 2, 3, 4, 5]; // 定义一个数组 arr.push(6…...
Java - 工具类参数初始化
在做第三方接口调用时,经常需要根据不同的环境指定初始化的参数。以下做一个简单的记录。 一、使用static初始化 使用static初始化,仅会初始化一次,但无法从配置文件中获取参数。并且如果写了多个初始化工具类,会互相覆盖。 /**…...
一文搞懂 MineCraft 服务器启动操作和常见问题 2023年10月
文章目录 前言1. 新建文件夹2. 创建 bat 文件3. 编辑 bat 文件4. 启动服务器5. 恭喜完成 文章持续更新中,如果你有问题可以通过 qq 1317699264 获取免费协助,解决的问题将会被更新到本文章中 前言 无论你是使用服务端整合包,还是从上一篇我的…...
第2篇 机器学习基础 —(2)分类和回归
前言:Hello大家好,我是小哥谈。机器学习中的分类和回归都是监督学习的问题。分类问题的目标是将输入数据分为不同的类别,而回归问题的目标是预测一个连续的数值。分类问题输出的是物体所属的类别,而回归问题输出的是数值。本节课就…...
Java游戏修炼手册:2023 最新学习线路图
前言 有没有一种令人兴奋的学习方法?当然有!绝对有!而且我要告诉你,学习的快乐可以媲美游戏的刺激。 小学时代,我曾深陷于一款名为"八百万勇士的梦"的游戏。每当放学,我总是迫不及待地打开电脑&a…...
前端访问geoserver服务发生跨域的解决办法,以及利用html2canvas下载绘制的地图
我的业务场景: 需要利用html2canvas下载Openlayers绘制的地图。 预期:可以下载成图片甚至其他格式(svg)文件。 结果:下载下来是个空白图片。 排查错误:请求数据正常回显到页面上,利用html2canvas截取的时候会发生跨域,导致无法绘制。 首先处理tomcat跨域问题 第一步…...
Word docx转html和markdown
Pypandoc使用pandoc来进行各种文本格式的转换。 安装 # 不带pandoc执行库 pip install pypandoc# 自带pandoc pip install pypandoc_binary使用 import pypandoc# convert all markdown files in a chapters/ subdirectory. pypandoc.convert_file(chapters/*.md, docx, out…...
API商品数据接口调用爬虫实战
随着互联网的发展,越来越多的商家开始将自己的商品数据通过API接口对外开放,以供其他开发者使用。这些API接口可以提供丰富的商品数据,包括商品名称、价格、库存、图片等信息。对于爬虫开发者来说,通过调用这些API接口,…...
【Python机器学习】零基础掌握GaussianProcessClassifier高斯过程
如何准确预测股票走势,从而在股市中获取更高的收益? 股市波动无常,预测股票走势对于投资者来说总是一个巨大的挑战。通常,人们会使用各种各样的方法和工具,但准确性始终是个问题。那么,有没有一种算法可以帮助解决这个问题呢? “高斯过程分类器(Gaussian Process Cla…...
SQL-正则表达式和约束
文章目录 主要内容一.正则表达式1.操作1代码如下(示例): 2.操作2代码如下(示例): 3.操作3代码如下(示例): 4.操作4代码如下(示例): 二.约束1.主键约束 2.自增长约束3.非空约束4.唯一…...
“人类高质量数据”如何训练计算机视觉模型?
人类的视觉系统可以复制吗? 答案是肯定的。 计算机视觉 (Computer Vision) 技术的不断普及,让机器识别和处理图像就像人的大脑一样,且速度更快、更准确。 机器像人类一样去“思考” 计算机视觉 (Computer Vision) 是近年来人工智能增长最快…...
ListenableFuture和countdownlatch使用example
ListenableFuture可以允许你注册回调方法(callbacks),在运算(多线程执行)完成的时候进行调用, 或者在运算(多线程执行)完成后立即执行 import com.google.common.util.concurrent.*;import java.util.concurrent.Call…...
C- strtok() strtok_r()
strtok() strtok 是 C 语言库中的一个函数,用于在字符串上执行分词操作。这意味着它可以用于将字符串分解成多个标记或段,这些标记之间由指定的分隔符分隔。 以下是 strtok 函数的原型: char *strtok(char *str, const char *delim);参数&…...
order by数据过多引起的cpu飙升
测试环境 1.目前数据库类型为pg数据库2.目前数据库业务为共享数据库,为减少其他业务对本次测试的影响,故选在业务空闲时间执行3.服务器性能为8C 32GB 500GB硬盘 原程序测试结果 优化后程序结果 出现原因 当数据量大时,order by排序操作会消耗大量的CPU资源&#…...
OS17.【Linux】进程基础知识(1)
目录 1.浅层定义 程序和进程的区别 2.查看进程的方法 ps ajx top 查看/proc目录 编辑 PID 3.手动用ps查看自己运行的程序 在/proc手动查看自己运行的程序目录 杀死进程的常用方法 进程目录中的文件 cwd 理解"当前路径"的含义 4.如何管理一个进程 程…...
告别Keil:用VS Code + EIDE打造高效C51开发环境
1. 为什么我们要放弃Keil? 如果你接触过C51单片机开发,Keil μVision这个名字一定不会陌生。作为单片机开发领域的"老前辈",Keil几乎成了教学和入门的标准工具。但说实话,每次打开那个灰蒙蒙的界面,我都感觉…...
保姆级教程:在Linux服务器上为PCIe NVMe SSD配置DPC,实现安全暴力热插拔
Linux服务器NVMe SSD暴力热插拔实战:DPC配置与生产环境验证 在数据中心运维领域,NVMe SSD因其高性能已成为存储标配,但传统热插拔流程需要预先卸载驱动、停止IO,这在7x24小时运行的生产环境中往往难以实施。本文将手把手带您完成P…...
终极美化指南:foobar2000如何通过foobox-cn打造你的专属音乐空间?
终极美化指南:foobar2000如何通过foobox-cn打造你的专属音乐空间? 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 厌倦了千篇一律的音乐播放器界面?想让你的音乐体…...
Minikube国内环境配置全攻略:从安装到Dashboard镜像加速(含阿里云镜像源)
Minikube国内环境高效配置指南:从零搭建到Dashboard可视化 对于国内开发者而言,在本地环境中快速搭建Kubernetes学习平台往往面临镜像拉取缓慢甚至失败的困扰。本文将系统性地介绍如何利用Minikube在国内网络环境下构建稳定的单机Kubernetes环境…...
如何快速掌握Sionna:下一代无线通信仿真的终极指南
如何快速掌握Sionna:下一代无线通信仿真的终极指南 【免费下载链接】sionna Sionna: An Open-Source Library for Next-Generation Physical Layer Research 项目地址: https://gitcode.com/gh_mirrors/si/sionna Sionna是一个基于TensorFlow的开源Python库&…...
Sora.FM零基础部署指南:3步上手AI视频生成工具的Linux实践方案
Sora.FM零基础部署指南:3步上手AI视频生成工具的Linux实践方案 【免费下载链接】sorafm 项目地址: https://gitcode.com/GitHub_Trending/so/sorafm Sora.FM是一款基于Sora AI技术的开源视频生成平台,支持通过文本描述创建高质量AI视频。本指南专…...
YOLO X Layout与Python结合实战:自动化文档结构解析应用
YOLO X Layout与Python结合实战:自动化文档结构解析应用 1. 项目背景与价值 在日常工作中,我们经常会遇到大量需要处理的文档——扫描的合同、电子发票、研究报告、技术文档等等。传统的人工处理方式不仅效率低下,还容易出错。想象一下&…...
3分钟搞定!国家中小学智慧教育平台电子课本下载神器使用全攻略
3分钟搞定!国家中小学智慧教育平台电子课本下载神器使用全攻略 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具 项目地址: https://gitcode.com/GitHub_Trending/tc/tchMaterial-parser 还在为下载电子课本而烦恼吗࿱…...
PyTorch 2.8镜像多场景落地:从Diffusers文生视频到Transformers微调全流程
PyTorch 2.8镜像多场景落地:从Diffusers文生视频到Transformers微调全流程 1. 开箱即用的深度学习环境 PyTorch 2.8深度学习镜像基于RTX 4090D 24GB显卡和CUDA 12.4深度优化,为各类AI任务提供稳定高效的运行环境。这个镜像最吸引人的特点是它的"万…...
