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

百度大全网站宁波网站建设设计制作公司

百度大全网站,宁波网站建设设计制作公司,wordpress模板打开慢,做门用什么网站好java数据结构与算法刷题目录#xff08;剑指Offer、LeetCode、ACM#xff09;-----主目录-----持续更新(进不去说明我没写完)#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 1. 时间复杂度 空间复杂度 O(n * l o g 2 n log_2{n} log2​…java数据结构与算法刷题目录剑指Offer、LeetCode、ACM-----主目录-----持续更新(进不去说明我没写完)https://blog.csdn.net/grd_java/article/details/123063846 文章目录 1. 时间复杂度 空间复杂度 O(n * l o g 2 n log_2{n} log2​n)/kbd2. 时间复杂度O(n)空间复杂度O(1) 1. 时间复杂度 空间复杂度 O(n * l o g 2 n log_2{n} log2​n) 解题思路 最直接的想法就是先算出每个元素的平方和然后排序所以排序的效率就是这个算法的效率。那么目前综合性能比最好实现也简单的就是快速排序算法它的时间和空间复杂度为O(n * l o g 2 n log_2{n} log2​n) 快速排序https://blog.csdn.net/grd_java/article/details/135671368 代码:时间复杂度O(n * l o g 2 n log_2{n} log2​n).空间复杂度O(n * l o g 2 n log_2{n} log2​n) class Solution {public int[] sortedSquares(int[] nums) {for (int i 0; i nums.length; i) {nums[i] (int)Math.pow(nums[i],2.0);} // quickSort(nums);Arrays.sort(nums);return nums;}/**快速排序不稳定时间复杂度O(n * logn) 空间复杂度O(n*logn)* 这里是快排入口*/public void quickSort(int arr[]){quickSort(arr,0,arr.length-1);}/*** 递归主要用于分割左右两个表*/public void quickSort(int arr[],int low,int high){if(lowhigh){//如果左指针超过右指针表示本次比较完成//快速排序每一趟都会确定一个元素的最终位置用pivot表示pivot是枢纽的意思int pivotPosition quickSortPartition(arr, low, high);//由pivot为分界点分成左右两个表quickSort(arr,low,pivotPosition-1);//左表排序quickSort(arr,pivotPosition1,high);//右表排序}}/*** 这里是每一趟的快速排序代码指定一个元素作为枢纽pivot然后以它为中心小的元素放在它左边大的放在它右边*/public int quickSortPartition(int arr[],int low,int high){int pivot arr[low];//指定枢纽while (lowhigh){while(lowhigh arr[high]pivot) --high;//从右边找到比枢纽小的arr[low] arr[high];//放在左边while(lowhigh arr[low]pivot) low;//从左找到比枢纽大的arr[high] arr[low];//放在右边}arr[low] pivot;//最终将枢纽放到它最终的位置return low;//最终low指向枢纽最终位置} }2. 时间复杂度O(n)空间复杂度O(1) 其实直接用排序算法有些太奢侈了而上面快速排序主要用双指针的思想。那么我们直接用双指针做这道题是不是更好呢 代码:时间复杂度O(n).空间复杂度O(1) class Solution {public int[] sortedSquares(int[] nums) {int n nums.length;//数组长度int low 0, high n -1;//左右指针int position n-1;//答案数组的指针从后向前依次指向插入元素的位置int[] answer new int[n];//每次都将较大值从后向前插入position指向的位置while(high low){int leftPow nums[low]*nums[low];//获取边的平方和int rightPow nums[high] * nums[high];//获取右边的平方和//将较大的插入answer数组并移动指针if(leftPow rightPow) {answer[position] leftPow; low;}//左边的插入answer左指针向右移else {answer[position] rightPow; high--;}//右边元素插入answer右指针向左移动position --;//指向下一个插入位置从后往前依次插入}return answer;} }
http://www.zqtcl.cn/news/675500/

相关文章:

  • 萍乡网站制作公司末备案网站如何做cdn
  • 做透水砖的网站西充县企业网站建设
  • 29网站建设全部厦门建设网站建站
  • 列出网站开发建设的步骤高端品牌女装连衣裙
  • 长沙设计网站建设搜索引擎优化平台
  • 网站建设 可以吗打开浏览器的网站
  • 惠州定制网站制作推荐chinacd wordpress第三性
  • 网站建设从初级到精通网站开发成本预算价目表
  • 网站程序开发上海高端网站开发站霸网络
  • 企业网站对网络营销的意义环保材料 技术支持 东莞网站建设
  • 房地产网站建设价格买卖网站
  • 网站宣传方案开发专业网站
  • 电子商务+网站建设wordpress首页幻灯
  • 网站建设表格的属性学校网站建设命名
  • 清远网站建设自学网站开发要多久
  • 可信网站 quot 验证能防范哪些安全.教育类app开发价格表
  • 网站设计服务流程深圳网站设计公司费用大概多少
  • 邮件网站怎么做的本地计算机做网站服务器
  • 自己建的网站打不开html5 手机网站 模版
  • 网站建设跟网站结构如何提高网站排名的方法
  • 网站模板 缓存商标网上开店创业计划书
  • 沧州网站建设微艾薇怎样给企业做网站
  • 如何做淘宝客的网站个人网站设计与制作代码
  • 信用门户网站建设观摩惠州专业做网站
  • wordpress打开网站前广告佛山百度推广seo服务
  • 松北建设局网站vps 用ip可以访问网站么
  • 网站图片内容免费开源crm
  • wordpress调用分类栏目wordpress文章优化
  • 建站公司上海企业官网模板下载
  • 网站建设推广话术wordpress 不显示缩略图