Redian新闻
>
大便为什么这么臭? (转载)
avatar
大便为什么这么臭? (转载)# Joke - 肚皮舞运动
l*4
1
给一个list of string 和一个string s, 返回s是不是在list当中, s里可以包含一
个*代表一个任意字符。
想了一下应该用trie,但是感觉*处理起来比较棘手。
哪位大侠说下思路?
avatar
j*i
2
【 以下文字转载自 Military 讨论区 】
发信人: xiangchifan (123), 信区: Military
标 题: 我来美国两年,胖了70斤。。。。。。
发信站: BBS 未名空间站 (Mon Sep 16 00:04:39 2013, 美东)
原本140斤的标准体重,现在不堪回首,在中国在美国都爱吃肉,可是来到这边就爆
肥,说真的,不管美粉怎么说,我都怀疑美国的肉有问题,至少激素绝对大大的有。
avatar
p*e
3
【 以下文字转载自 Military 讨论区 】
发信人: Barton87 (HIGH-FIVE), 信区: Military
标 题: 大便为什么这么臭? (转载)
发信站: BBS 未名空间站 (Tue Jun 10 00:18:13 2014, 美东)
发信人: keystone0504 (金牛), 信区: WaterWorld
标 题: 大便为什么这么臭?
发信站: BBS 未名空间站 (Mon Jun 9 15:58:08 2014, 美东)
从低等动物到人,排泄物好象越来越臭 ,不知道是否有进化优势。大自然为什么没有
选择中性甚至芬芳的气味? just curious.
avatar
b*5
4
你这个*, 是只能match一个letter?
avatar
M*u
5
我来了40多年,体重只长了不到5磅
avatar
s*s
6
我老考虑了一下,发现你是因果倒置。多半因为是有毒有害有污染,所以
大脑把这个味道定义成臭的。

【在 p*e 的大作中提到】
: 【 以下文字转载自 Military 讨论区 】
: 发信人: Barton87 (HIGH-FIVE), 信区: Military
: 标 题: 大便为什么这么臭? (转载)
: 发信站: BBS 未名空间站 (Tue Jun 10 00:18:13 2014, 美东)
: 发信人: keystone0504 (金牛), 信区: WaterWorld
: 标 题: 大便为什么这么臭?
: 发信站: BBS 未名空间站 (Mon Jun 9 15:58:08 2014, 美东)
: 从低等动物到人,排泄物好象越来越臭 ,不知道是否有进化优势。大自然为什么没有
: 选择中性甚至芬芳的气味? just curious.

avatar
l*4
7


【在 b**********5 的大作中提到】
: 你这个*, 是只能match一个letter?
avatar
M*e
8
欢欢吃得也不少,
以至于至今找不到对象。。。

【在 j****i 的大作中提到】
: 【 以下文字转载自 Military 讨论区 】
: 发信人: xiangchifan (123), 信区: Military
: 标 题: 我来美国两年,胖了70斤。。。。。。
: 发信站: BBS 未名空间站 (Mon Sep 16 00:04:39 2013, 美东)
: 原本140斤的标准体重,现在不堪回首,在中国在美国都爱吃肉,可是来到这边就爆
: 肥,说真的,不管美粉怎么说,我都怀疑美国的肉有问题,至少激素绝对大大的有。

avatar
w*p
9
确实,小孩子玩大便的时候根本没觉得臭。

【在 s******s 的大作中提到】
: 我老考虑了一下,发现你是因果倒置。多半因为是有毒有害有污染,所以
: 大脑把这个味道定义成臭的。

avatar
b*5
10
看原题是说只有一个*, 然后还只能match一个letter, 不是Lee t code里的*, 那为
什么不能先看s 里有没有*, 没有就是一个hash set, 有就把那个* 变成a, b, c,d,.
..

【在 l***4 的大作中提到】
: 是
avatar
T*i
11
年龄大了呗 别怪食物结构
而且 肉这玩意 不能不吃 但不能当饭吃
avatar
D*s
12
标记为臭味是可以防止又吃进去,大便中有高浓度细菌,这些细菌分解食物残渣的过程
产生了臭味的物质

【在 p*e 的大作中提到】
: 【 以下文字转载自 Military 讨论区 】
: 发信人: Barton87 (HIGH-FIVE), 信区: Military
: 标 题: 大便为什么这么臭? (转载)
: 发信站: BBS 未名空间站 (Tue Jun 10 00:18:13 2014, 美东)
: 发信人: keystone0504 (金牛), 信区: WaterWorld
: 标 题: 大便为什么这么臭?
: 发信站: BBS 未名空间站 (Mon Jun 9 15:58:08 2014, 美东)
: 从低等动物到人,排泄物好象越来越臭 ,不知道是否有进化优势。大自然为什么没有
: 选择中性甚至芬芳的气味? just curious.

avatar
l*4
13
可行!
要是面试官坚持让用trie呢?

,.

【在 b**********5 的大作中提到】
: 看原题是说只有一个*, 然后还只能match一个letter, 不是Lee t code里的*, 那为
: 什么不能先看s 里有没有*, 没有就是一个hash set, 有就把那个* 变成a, b, c,d,.
: ..

avatar
m*3
14
您去哪儿买菜/肉?要不咬咬牙多花点儿钱去 Wholefoods 之类的?
avatar
d*e
15
龙涎香
avatar
b*5
16
你是说, 把list of string 变成 prefix tree? 那不就是碰到*后, 每个node DFS?

【在 l***4 的大作中提到】
: 可行!
: 要是面试官坚持让用trie呢?
:
: ,.

avatar
G*s
17

请奔
无pp无真相

【在 M****u 的大作中提到】
: 我来了40多年,体重只长了不到5磅
avatar
d*a
18
和食物的种类有关系。
avatar
l*4
19
我明天按这个写一下

【在 b**********5 的大作中提到】
: 你是说, 把list of string 变成 prefix tree? 那不就是碰到*后, 每个node DFS?
avatar
M*u
20
我是奔过的,拜托

【在 G***s 的大作中提到】
:
: 请奔
: 无pp无真相

avatar
b*i
21
将那个list of strings变成一个trie
然后在这个trie里面查找s,search函数要写成如果当前s里面碰到了*,就在trie里面
做一层BFS。这题和那个在trie里面查找h3o (e.g., hello) pattern的词的写法很类似。

【在 l***4 的大作中提到】
: 给一个list of string 和一个string s, 返回s是不是在list当中, s里可以包含一
: 个*代表一个任意字符。
: 想了一下应该用trie,但是感觉*处理起来比较棘手。
: 哪位大侠说下思路?

avatar
G*s
22

你这个id很新撒

【在 M****u 的大作中提到】
: 我是奔过的,拜托
avatar
b*i
23
贴个code,不过只test了几种case
/*
给一个list of string 和一个string s, 返回s是不是在list当中, s里可以包含一
个*代表一个任意字符。
*/
#include
#include
#include
using namespace std;
struct TrieNode {
TrieNode():is_word(false),children(26,nullptr) {}
bool is_word;
vector children;
};
class Solution {
public:
bool string_in_list(vector strings, string s) {
if(s.length() == 0 || strings.size() == 0)
return false;

// construct trie
TrieNode *root = new TrieNode();
for(auto str : strings)
trieInsert(root, str);

// search trie
return trieSearch(root, s, 0);
}

bool trieSearch(TrieNode *root, string s, int start) {
int n = s.length();
if(!root)
return false;
if(start == n)
return root->is_word;

char c = s[start];
if(c == '*') {
for(auto nextnode : root->children) {
if(trieSearch(nextnode, s, start+1))
return true;
}
return false;
}
return trieSearch(root->children[c-'a'], s, start+1);
}

void trieInsert(TrieNode *root, string s) {
int n = s.length();
if(n == 0)
return;

TrieNode *crawl = root;
for(int i = 0; i < n; i++) {
int idx = s[i] - 'a';
if(crawl->children[idx] == nullptr) {
crawl->children[idx] = new TrieNode();
}
crawl = crawl->children[idx];
}
crawl->is_word = true;
}
};
int main() {
Solution solution;
vector strings = {"google", "facebook", "linkedin"};
cout << solution.string_in_list(strings, "google") << endl;
cout << solution.string_in_list(strings, "goo*le") << endl;
cout << solution.string_in_list(strings, "**cebo**") << endl;
cout << solution.string_in_list(strings, "******") << endl;
cout << solution.string_in_list(strings, "googler") << endl;
cout << solution.string_in_list(strings, "***") << endl;

}

似。

【在 b******i 的大作中提到】
: 将那个list of strings变成一个trie
: 然后在这个trie里面查找s,search函数要写成如果当前s里面碰到了*,就在trie里面
: 做一层BFS。这题和那个在trie里面查找h3o (e.g., hello) pattern的词的写法很类似。

avatar
M*u
24
老ID了,看看我wb都不少

【在 G***s 的大作中提到】
:
: 你这个id很新撒

avatar
l*4
25
感谢分享

【在 b******i 的大作中提到】
: 贴个code,不过只test了几种case
: /*
: 给一个list of string 和一个string s, 返回s是不是在list当中, s里可以包含一
: 个*代表一个任意字符。
: */
: #include
: #include
: #include
: using namespace std;
: struct TrieNode {

avatar
j*i
26
怎么做到的?介绍一下。我要能减十来磅都笑的睡不着觉了

【在 M****u 的大作中提到】
: 我来了40多年,体重只长了不到5磅
avatar
p*9
27

拿到*的位置pos,然后把list中所有string的pos位置都换成*,最后hashmap

【在 l***4 的大作中提到】
: 感谢分享
avatar
M*u
28
啥都不用做,该吃吃,该喝喝
那种长70来斤的,就是生活状态改变太大造成的

【在 j****i 的大作中提到】
: 怎么做到的?介绍一下。我要能减十来磅都笑的睡不着觉了
avatar
b*e
29
You can build the trie in a smarter way to cut the cost per search.
Basically, when you index a string s of length n, instead of indexing itself
, you index n+1 strings: the original string and n other strings with the
character at each position missing. For instance, to index “abc”, you
index all of the following:
“abc”
“bc”
“ac”
“ab"
The overall index cost could be increased to O(N*k) in the worst case, where
N is the total number of characters occurring in all the strings, and k is
the average length of the strings. But when querying, you just need to do a
straightforward search by skipping the “*” that is encountered, if at all.

【在 l***4 的大作中提到】
: 给一个list of string 和一个string s, 返回s是不是在list当中, s里可以包含一
: 个*代表一个任意字符。
: 想了一下应该用trie,但是感觉*处理起来比较棘手。
: 哪位大侠说下思路?

avatar
c*o
30
这就是来BSO的,坚决打到!

【在 M****u 的大作中提到】
: 啥都不用做,该吃吃,该喝喝
: 那种长70来斤的,就是生活状态改变太大造成的

avatar
M*u
31
没有好的生活习惯,长肉是迟早的事儿
请改悔吧

【在 c****o 的大作中提到】
: 这就是来BSO的,坚决打到!
avatar
p*g
32


【在 G***s 的大作中提到】
:
: 你这个id很新撒

avatar
p*g
33


【在 G***s 的大作中提到】
:
: 你这个id很新撒

avatar
n*h
34
原帖id叫 xiangchifan晕 坑

【在 j****i 的大作中提到】
: 怎么做到的?介绍一下。我要能减十来磅都笑的睡不着觉了
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。