当前位置: 首页 > wzjs >正文

成立网站公司需要什么c++网站开发

成立网站公司需要什么,c++网站开发,商丘网站制作推广,成都建站原题请见:Leetcode189-旋转数组 1、题目描述 2、题目分析 首先容易想到的最简单的方案,是算出来移动K步之后,新数组的每一个坐标与原坐标的映射关系,然后根据映射关系放到一个全新的数组,再把新数组的值赋给原数组。…

原题请见:Leetcode189-旋转数组

1、题目描述

请添加图片描述

2、题目分析

首先容易想到的最简单的方案,是算出来移动K步之后,新数组的每一个坐标与原坐标的映射关系,然后根据映射关系放到一个全新的数组,再把新数组的值赋给原数组。

但题目描述的进阶方案,我们应该考虑使用 O(1) 复杂度实现。
这里不啰嗦,直接说结论:

任何有关数组的旋转、对称、平移的题目,优先去把题目转换成几次基本的对称。
大多数情况下都能通过有限次的对称解决。

例如本题:
假设输入条件是:[1,2,3,4,5,6,7] k = 3
第一步:先整体左右对称:[7,6,5,4,3,2,1]
第二步:根据 k = 3,做一个分割线: [7,6,5 | 4,3,2,1]
第三步:分割线左边的内容做对称,分割线右边的内容做对称 [5,6,7 | 1,2,3,4]
请添加图片描述

3、题解

class Solution {public void rotate(int[] nums, int k) {// 考虑使用原地对称的算法解决这个问题// 例如:[1,2,3,4,5,6,7] k = 3// 第一步:先整体左右对称:[7,6,5,4,3,2,1]// 第二步:根据 k = 3,做一个分割线: [7,6,5 | 4,3,2,1]// 第三步:分割线左边的内容做对称,分割线右边的内容做对称 [5,6,7 | 1,2,3,4]int minK = k % nums.length;symmetrized(nums, 0, nums.length - 1);symmetrized(nums, 0 , minK - 1);symmetrized(nums, minK, nums.length - 1);}private void symmetrized(int[] nums, int start, int end) {int mid = (start + end + 1) / 2;for (int i = 0; i + start< mid; i++) {int temp = nums[start + i];nums[start + i] = nums[end - i];nums[end - i] = temp;}}
}
http://www.dtcms.com/wzjs/783869.html

相关文章:

  • 顺义网站建设报价php网站开发书籍
  • 电子销售网站模板免费下载欧派全屋定制
  • 网站建设维护什么意思ui设计不要30岁的
  • 北京专业响应式网站建设莱芜在线话题苏春媛
  • 网站建设哪个公司做得好外贸数据分析网站
  • android网站开发南昌营销网站建设
  • 长垣住房和城乡建设局 网站dedecms本地可以更换网站模板出现网站模板不存在
  • 网站的思维导图怎么做开发电商平台多少钱
  • 网站开发费入账腾讯云网站建设教程
  • 网站系统建设与管wordpress 加速优化
  • 阜宁网站制作费用wordpress 搜索关键词
  • 网站百度网盘吉林网站建设代理渠道
  • 人才引进从事网站建设重庆怎么做网站?
  • 深圳商城网站制作公司php网站开发实用技术
  • 网站建设代码题博客网站程序
  • 淘宝网的网站设计方案wordpress 又拍云
  • 电子商务网站建设试题 答案wordpress如何修改
  • 上海内贸网站建设网站优化入门免费教程
  • 网站建设需要个体营业执照吗厦门建设管理局网站
  • 郑州做网站锐网店推广有哪些新思维
  • 风铃建站模板怎样给网站做图标
  • 购物网站开发教学视频wordpress js 判断登陆
  • 网站描述怎么修改吗中国建设银行网站-个人客户
  • mvc5网站开发实战详解jsp网站开发技术
  • 有专门做面包的网站么网页设计与制作第二版电子版
  • 如何做网站流程图什么可以用手机做网站
  • 网站搭建价格表wordpress登陆界面修改
  • 做外贸网站怎么做学校介绍网站模板
  • 阿里云服务器 放多个网站wordpress模板安装方法
  • 网络科技官网网站建设android开发环境有哪些