Redian新闻
>
在cvs买到传说中的Gillette package
avatar
在cvs买到传说中的Gillette package# PennySaver - 省钱一族
c*p
1
返回的是index,这个不能排序吧?排序顺序就乱了。。。
哪个解法最优?
avatar
x*g
2
俺们附近的cvs店里所有刮胡刀都是锁着的,要买的话需要叫小二开锁。
室友周日去的时候,所有的fusion proglide都卖完了。室友只好去问小二有没有新货
,小二就跑到仓库里拿了一个package。
我们昨天也去了,也是问小二有没有package,小二又从仓库里拿了一个package。
柜台上没有package的,需要向小二要。想必cvs还是有货,只是没有摆上柜台而已。
avatar
r*e
3
hashtable吧

【在 c********p 的大作中提到】
: 返回的是index,这个不能排序吧?排序顺序就乱了。。。
: 哪个解法最优?

avatar
b*9
4
恭喜恭喜

【在 x*****g 的大作中提到】
: 俺们附近的cvs店里所有刮胡刀都是锁着的,要买的话需要叫小二开锁。
: 室友周日去的时候,所有的fusion proglide都卖完了。室友只好去问小二有没有新货
: ,小二就跑到仓库里拿了一个package。
: 我们昨天也去了,也是问小二有没有package,小二又从仓库里拿了一个package。
: 柜台上没有package的,需要向小二要。想必cvs还是有货,只是没有摆上柜台而已。

avatar
k*t
5
可以用先用pair(value, index), 然后sort pair based on value, 这样也是可以的
,就是比较麻烦点
avatar
x*0
6
pai..从没见过的说
avatar
c*p
7
嗯,我用的就是hashtable。

【在 r*******e 的大作中提到】
: hashtable吧
avatar
l*u
8
没看见过
avatar
c*p
9
这个有想过但不知道怎么实践。
这个pair,是什么操作,什么数据结构?是自己定义一个wrapper class么?

【在 k*******t 的大作中提到】
: 可以用先用pair(value, index), 然后sort pair based on value, 这样也是可以的
: ,就是比较麻烦点

avatar
s*5
10


【在 b*****9 的大作中提到】
: 恭喜恭喜
avatar
k*t
11
如果你用c/c++的话 就定义一个struct,里面有两个variable, 一个value, 一个index.
sort时用vector的自带的sort, 不过要自己定义一个comparator。
avatar
r*6
12
pai baozi
avatar
k*t
13
不过最优解法还是用hashtable
avatar
w*u
14
出ECB吗?上次看见没敢买。

【在 x*****g 的大作中提到】
: 俺们附近的cvs店里所有刮胡刀都是锁着的,要买的话需要叫小二开锁。
: 室友周日去的时候,所有的fusion proglide都卖完了。室友只好去问小二有没有新货
: ,小二就跑到仓库里拿了一个package。
: 我们昨天也去了,也是问小二有没有package,小二又从仓库里拿了一个package。
: 柜台上没有package的,需要向小二要。想必cvs还是有货,只是没有摆上柜台而已。

avatar
r*e
15
c++用stl pair就好了..

index.

【在 k*******t 的大作中提到】
: 如果你用c/c++的话 就定义一个struct,里面有两个variable, 一个value, 一个index.
: sort时用vector的自带的sort, 不过要自己定义一个comparator。

avatar
M*8
16

我买过一个,没问题

【在 w****u 的大作中提到】
: 出ECB吗?上次看见没敢买。
avatar
s*s
17
我的代码:
struct itemRecord {
int index;
int val;
itemRecord(int i, int v): index(i), val(v) {}
};
bool itemRecordLess(itemRecord i1, itemRecord i2) {
return i1.val < i2.val;
}
class Solution {
public:
vector twoSum(vector &numbers, int target) {
vector result;
int n = numbers.size();

vector numRecords;
for(int i=0; inumRecords.push_back(itemRecord(i, numbers[i]));
sort(numRecords.begin(), numRecords.end(), itemRecordLess);

for(int i=0; iint num = target - numRecords[i].val;
int ind = binarySearch(numRecords, i+1, n-1, num);
if(ind > i) {
if(numRecords[i].index > numRecords[ind].
index) {
result.push_back(numRecords[ind].
index+1);
result.push_back(numRecords[i].index
+1);
} else {
result.push_back(numRecords[i].index
+1);
result.push_back(numRecords[ind].
index+1);
}
return result;
}
}
return result;
}
int binarySearch(vector &numbers, int i, int j, int
target) {
while(i <= j) {
int m = (i+j)/2;
if(target == numbers[m].val)
return m;
else if(target > numbers[m].val)
i = m + 1;
else
j = m - 1;
}
return -1;
}
};

【在 c********p 的大作中提到】
: 返回的是index,这个不能排序吧?排序顺序就乱了。。。
: 哪个解法最优?

avatar
p*d
18
Check the price. If it's $9.XX then you will get ECB.

【在 w****u 的大作中提到】
: 出ECB吗?上次看见没敢买。
avatar
c*p
19
我用java,用什么?

【在 r*******e 的大作中提到】
: c++用stl pair就好了..
:
: index.

avatar
s*g
20
pai baozi

【在 x*****g 的大作中提到】
: 俺们附近的cvs店里所有刮胡刀都是锁着的,要买的话需要叫小二开锁。
: 室友周日去的时候,所有的fusion proglide都卖完了。室友只好去问小二有没有新货
: ,小二就跑到仓库里拿了一个package。
: 我们昨天也去了,也是问小二有没有package,小二又从仓库里拿了一个package。
: 柜台上没有package的,需要向小二要。想必cvs还是有货,只是没有摆上柜台而已。

avatar
c*p
21
其实这个题用最基本的,每个都试一下,就能通过大oj。
但我不甘心啊。。。

【在 s*******s 的大作中提到】
: 我的代码:
: struct itemRecord {
: int index;
: int val;
: itemRecord(int i, int v): index(i), val(v) {}
: };
: bool itemRecordLess(itemRecord i1, itemRecord i2) {
: return i1.val < i2.val;
: }
: class Solution {

avatar
i*4
22
cong
avatar
c*e
23
我用的是c++ map
avatar
l*o
24
这周还能买吗,在广告商没看到哎,能买几个
买了20个胖子晚到乐
avatar
t*a
25
用个map吧,key是numbers的value, value是numbers的index
这是我前几天写的
class Solution {
public:
vector twoSum(vector &numbers, int target) {
unordered_map index;
for(int i = 0; i < numbers.size(); i++){
auto position = index.find(target - numbers[i]);
if(position != index.end()) { //hit!
vector result;
result.push_back(position->second + 1);
result.push_back(i + 1);
return result;
}
index[numbers[i]] = i; //build index
}
throw invalid_argument("result not found");
}
};

【在 c********p 的大作中提到】
: 返回的是index,这个不能排序吧?排序顺序就乱了。。。
: 哪个解法最优?

avatar
x*g
26
这周还能买的,一张卡本月一共能买2个
我没有胖子,是花的ecb,不过也知足了

【在 l***o 的大作中提到】
: 这周还能买吗,在广告商没看到哎,能买几个
: 买了20个胖子晚到乐

avatar
c*p
27
好的我捧回去读读。。

【在 t***a 的大作中提到】
: 用个map吧,key是numbers的value, value是numbers的index
: 这是我前几天写的
: class Solution {
: public:
: vector twoSum(vector &numbers, int target) {
: unordered_map index;
: for(int i = 0; i < numbers.size(); i++){
: auto position = index.find(target - numbers[i]);
: if(position != index.end()) { //hit!
: vector result;

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。