由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 求问电子版 CC150 2.1 题
相关主题
Careercup 150总结有人能发我一份CC150的电子版么?
Careercup书第四版一道题的解答有错求问一个题
刷了一二年的题, 没刷过two egg problem大家来看看这个CC150的题
TripAdvsior 面经 (完败)求问CC150书上16.9的“multiple of alignment”是什么意思??
reorder list 递归方法超时Offer@Groupon 求问fresh MS SDE大概是个什么package?
关于reorder list 的总结copy list with random pointer 老出错
FLAG面试总结求问各公司onsite通过率
leetcode 挂了?求问大神:g家安卓和硬件组的面试会比其它组容易吗
相关话题的讨论汇总
话题: arr话题: list话题: reorder话题: step话题: np
进入JobHunting版参与讨论
1 (共1页)
J***2
发帖数: 135
1
应该是第四版吧。2.1,题目是把['a1','a2'...'an','b1'...'bn']转化为['a1','b1'.
..'an','bn']
算法用devide and conquer,可是中间需要交换2个set的位置。为了实现这个exchange
算法已经用了两天时间了。求问有没有大哥大姐们写过这个算法的 特别是
exchange list[p,r] and list[r+1,q]
如果能给出代码的话,小弟感激不尽啊。伪代码也可以,谢谢,谢谢
p*****2
发帖数: 21240
2
这题是第四版的呀?
l*****a
发帖数: 14598
3
直接交换不成吗?###假定调用时参数都legal
public void swap(T[] input,int p,int r,int q)
{
for(int step=0;step<=r-p;step++) {
T temp=input[p+step];
input[p+step]=input[r+1+step];
input[r+1+step]=temp;
}
}

'.
exchange

【在 J***2 的大作中提到】
: 应该是第四版吧。2.1,题目是把['a1','a2'...'an','b1'...'bn']转化为['a1','b1'.
: ..'an','bn']
: 算法用devide and conquer,可是中间需要交换2个set的位置。为了实现这个exchange
: 算法已经用了两天时间了。求问有没有大哥大姐们写过这个算法的 特别是
: exchange list[p,r] and list[r+1,q]
: 如果能给出代码的话,小弟感激不尽啊。伪代码也可以,谢谢,谢谢

J***2
发帖数: 135
4
我就是这么写的。可是结果不对
我的代码:
def ReOrder(arr,p,q):
if(p==q):
return arr
else:
r=(p+q)/2
np=(p+r)/2
nq=(r+1+q)/2
# switch
for i in range(0,(r-np+1)):
temp=arr[np+i]
arr[np+i]=arr[r+1+i]
arr[r+1+i]=temp
print 'step {0}:switch {1} <-->{2}'.format(i,arr[np+i],arr[r+1+i
])
# switch end
print 'current list:'
print arr
print '-'*30
ReOrder(arr,p,r)
ReOrder(arr,r+1,q)
return arr
list=['a1','a2','a3','a4','a5','b1','b2','b3','b4','b5']
list=ReOrder(list,0,len(list)-1)
print list
上面是python代码,大家帮我看看错在哪儿吧。小弟在这里谢谢了。

【在 l*****a 的大作中提到】
: 直接交换不成吗?###假定调用时参数都legal
: public void swap(T[] input,int p,int r,int q)
: {
: for(int step=0;step<=r-p;step++) {
: T temp=input[p+step];
: input[p+step]=input[r+1+step];
: input[r+1+step]=temp;
: }
: }
:

l*****a
发帖数: 14598
5
r-np+1 换成r-np什么结果?

【在 J***2 的大作中提到】
: 我就是这么写的。可是结果不对
: 我的代码:
: def ReOrder(arr,p,q):
: if(p==q):
: return arr
: else:
: r=(p+q)/2
: np=(p+r)/2
: nq=(r+1+q)/2
: # switch

p*****2
发帖数: 21240
6

如果是奇数怎么办呀?比如swap [1,2,3]
p=0 r=0 q=2

【在 l*****a 的大作中提到】
: 直接交换不成吗?###假定调用时参数都legal
: public void swap(T[] input,int p,int r,int q)
: {
: for(int step=0;step<=r-p;step++) {
: T temp=input[p+step];
: input[p+step]=input[r+1+step];
: input[r+1+step]=temp;
: }
: }
:

q********s
发帖数: 1032
7
第五版原题是singly linked list 或者 double list。如果是arrary的,直接交换就
可以了。
难道第四版不同?

'.
exchange

【在 J***2 的大作中提到】
: 应该是第四版吧。2.1,题目是把['a1','a2'...'an','b1'...'bn']转化为['a1','b1'.
: ..'an','bn']
: 算法用devide and conquer,可是中间需要交换2个set的位置。为了实现这个exchange
: 算法已经用了两天时间了。求问有没有大哥大姐们写过这个算法的 特别是
: exchange list[p,r] and list[r+1,q]
: 如果能给出代码的话,小弟感激不尽啊。伪代码也可以,谢谢,谢谢

1 (共1页)
进入JobHunting版参与讨论
相关主题
求问大神:g家安卓和硬件组的面试会比其它组容易吗reorder list 递归方法超时
求问如何复习concurrency/multithread和design的题目关于reorder list 的总结
求问找temp agency有什么注意事项?FLAG面试总结
求问recruiter回复说in touch soon about next stepsleetcode 挂了?
Careercup 150总结有人能发我一份CC150的电子版么?
Careercup书第四版一道题的解答有错求问一个题
刷了一二年的题, 没刷过two egg problem大家来看看这个CC150的题
TripAdvsior 面经 (完败)求问CC150书上16.9的“multiple of alignment”是什么意思??
相关话题的讨论汇总
话题: arr话题: list话题: reorder话题: step话题: np