一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 316|回复: 13
收起左侧

yahoo面经

[复制链接] |试试Instant~ |关注本帖
wltchester 发表于 2016-11-18 03:26:58 | 显示全部楼层 |阅读模式

() @ - -  |

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
输入[3, -10, -2, -5, 10, 4, 5, -1, 10, 2, -4], 输出[3, 10, 4, 5, 10, 2, -10, -2, -5, -1, -4]。 要求是single iteration和in-place。

评分

1

查看全部评分

myqdkl 发表于 2016-11-18 03:37:11 | 显示全部楼层
这个是找规律吗,lz能说的再具体一点吗,谢谢
回复 支持 反对

使用道具 举报

catinclay 发表于 2016-11-18 04:02:11 | 显示全部楼层
myqdkl 发表于 2016-11-18 03:37
这个是找规律吗,lz能说的再具体一点吗,谢谢
.鐣欏璁哄潧-涓浜-涓夊垎鍦
正的往左放 負的往右放
回复 支持 反对

使用道具 举报

 楼主| wltchester 发表于 2016-11-18 04:41:22 | 显示全部楼层
正的往左方,负的往右,还要保持相对顺序。
回复 支持 反对

使用道具 举报

小A要当码农 发表于 2016-11-18 04:52:47 | 显示全部楼层
是类似于冒泡排序的做法么。。。
回复 支持 反对

使用道具 举报

csushin1992 发表于 2016-11-18 06:53:06 | 显示全部楼层
Single Iteration...求解...
回复 支持 反对

使用道具 举报

raincoatrun 发表于 2016-11-18 06:53:36 | 显示全部楼层
two pointer两边往中间走,inplace replace
回复 支持 反对

使用道具 举报

buweiningshi86 发表于 2016-11-18 06:55:10 | 显示全部楼层
two pointer, 跟leetcode move zeros 类似,只是这个move的是负的
回复 支持 反对

使用道具 举报

csushin1992 发表于 2016-11-18 07:10:33 | 显示全部楼层
buweiningshi86 发表于 2016-11-18 06:55. Waral 鍗氬鏈夋洿澶氭枃绔,
two pointer, 跟leetcode move zeros 类似,只是这个move的是负的
.1point3acres缃
使用move zeroes的方法不能保证移到后面的负数是有序的吧。
回复 支持 反对

使用道具 举报

csushin1992 发表于 2016-11-18 07:11:30 | 显示全部楼层
raincoatrun 发表于 2016-11-18 06:53
two pointer两边往中间走,inplace replace
. visit 1point3acres.com for more.
这样不能保证后面的负数是有序的
回复 支持 反对

使用道具 举报

raincoatrun 发表于 2016-11-18 07:23:37 | 显示全部楼层
那就用index作为value,然后负数加个负号,bubble sort
回复 支持 反对

使用道具 举报

mayborin 发表于 2016-11-18 11:02:38 | 显示全部楼层
  1. public void re(int[] num){.鐣欏璁哄潧-涓浜-涓夊垎鍦
  2.         if(num==null || num.length<2) return;. 1point 3acres 璁哄潧
  3.         int i=0,j=1;
  4.     while(j<num.length){
  5.       if(num[i]>0) {i++;j++;}. 1point 3acres 璁哄潧
  6.       else{//num[i] is negative, search for the next positive index
  7.         while(j<num.length&&num[j]<0) j++;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  8.         if(j<num.length){
  9.           int tmp=num[j];
  10.           for(int t=j;t>i;t--) num[t]=num[t-1];
  11.           num[i]=tmp;
  12.           i++;
  13.           j++;
  14.         }
  15.     }
  16.   }
  17. }
复制代码
回复 支持 反对

使用道具 举报

csushin1992 发表于 2016-11-18 11:51:51 | 显示全部楼层
raincoatrun 发表于 2016-11-18 07:23
那就用index作为value,然后负数加个负号,bubble sort
. more info on 1point3acres.com
这样子似乎也不行。
1. 要求single iteration
2. Index作为Value,负数加上负号,那么会有一边是逆序的,如果AscendingOrder,那么负数部分逆序,如果是DescendingOrder,那么正数部分逆序。
回复 支持 反对

使用道具 举报

coldrainy 发表于 2016-11-20 08:03:26 | 显示全部楼层
这题是color sort 变型吧. LC 75.
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-10 00:31

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表