VimIy微民网,让世界倾听微民的声音! 设为首页 | 加入收藏 | 网站地图
当前位置:主页 > 大杂烩 >

【听说这里码农很多】一个看似简单的问题,想了半天想不出来

整理时间:2013-07-03 19:09 来源:www.vimiy.com 作者:编辑 点击:

【楼主】2013-07-01 18:03

» 一个看似简单的问题,想了半天想不出来
    一个长为2N的数组,初始值为,请设计算法把它的值变成。要求额外存储空间O(1),时间复杂度O(N)
    自己想了下,如果有长度2N的额外存储空间,那直接拷贝就行,时间复杂度O(N)很简单。
    但现在只有O(1)的额外存储空间,感觉需要大量的插入,移动数组里面的元素,时间复杂度可能就不止O(N)了。
    有高人能帮忙解答一下吗?
    
网友评论2013-07-01 20:39


    码农们都去哪儿了?
    
网友评论2013-07-01 20:57


    看错了 再想想
    


网友评论2013-07-01 21:11


    楼主这是什么数组?
    
    我感觉如果这两个数组是链表结构的话 可能连额外储存空间都不需要啊
    
网友评论2013-07-01 21:24


    取一个不在最终位置的元素出来,然后每次把空出来的格子找到并填上最终的元素
    
网友评论2013-07-01 21:28


    楼上正解.
    


网友评论2013-07-01 21:33


    a被映射到a这里的左移是循环左移 可以去搜下均匀洗牌函数
    发表回复

    
    
    

上一篇:大暴雨呀,明天还上班呀
下一篇:没有了
关于网站 | 网站声明 | 用户反馈 | 合作伙伴 | 联系我们
Copyright © 2012年2月8日