• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程问答 > 一个要求时间复杂度ON,空间O1的排序问题

一个要求时间复杂度ON,空间O1的排序问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-07

佚名通过本文主要向大家介绍了时间复杂度空间复杂度,时间复杂度,时间复杂度怎么算,算法的时间复杂度,冒泡排序的时间复杂度等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:一个要求时间复杂度ON,空间O1的排序问题
描述:

一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的 相对顺序 比如: input: 1,7,-5,9,-12,15 ans: -5,-12,1,7,9,15 要求时间复杂度O(N),空间O(1) 。(此题一直没看到令我满意的答案,一般达不到题目所要求的:时间复杂度O(N),空间O(1))


解决方案1:

找到答案了,来完善一下。
引入两个指针即可,思路如下:

input[] = {1,7,-5,9,-12,15};
pts=&input[i]; pti=&input[i];
n=1;
for(i=0;i<sizeof(input)-2;i++) {
   pts++;
   if (*(pts-1)<0) {
      (pts-2)->next = pts;
      (pts-1)->next = pti;
   }

   if(n && 0>*pti)
      pti++;
   else
      n=0;
}
if (0>input[sizeof(input)-1])
   input[sizeof(input)-1]->next=pti;


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 一个要求时间复杂度ON,空间O1的排序问题
  • 一个时间复杂度和空间复杂度限定的问题

相关文章

  • 2017-06-07 为什么laravel中usefacade和Model不能同时使用
  • 2017-06-07 (laravel)composer自定义开发包无法使用
  • 2017-06-07 使用python-requests库抓取百度时添加响应头gzip无效
  • 2017-06-07 (python)Fiddler+Android模拟器抓取app,json数据被加密了,如何解析?
  • 2017-06-07 怎么修改保存的图片路径~
  • 2017-06-07 AndroidStudio如何设置设计界面中默认的API?
  • 2017-06-07 我php模板传成功了但是没法运行主页是怎么回事呢?一运行就成下载了!
  • 2017-06-07 随机数算法随机算法如何60以内随机出现5次
  • 2017-06-07 (python)请问如何将s列表变成下面注释当中的列表呢?判断create_time和level值相等的时候将count的值相加
  • 2017-06-07 七牛列举资源结果是按照什么排序的

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 七牛处理结果另存为saveas报错
    • funambol+jboss+mysql+scts测试报错
    • 找不到存在感怎么办?
    • (python)为何print(my)还会输出小写的x,y,z?为何输出的不是字符串?
    • (shell)find命令如何避免搜索项目的时候把git目录里的内容也给搜出来
    • 汇编语言水仙花数
    • 如何完成fragment中数据的导入和检索?
    • 设计api需要哪些知识?
    • ubuntu系统apache服务器装好了laravel打开网页却显示403forbidden
    • (python)如何基于Celery做爬虫但遇到些坑,如重复执行了一个任务、db对象内数据有错误

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有