g*********e 发帖数: 14401 | 1
偶的想法
用一个线程做从小到大的inorder search 每次search一个节点就wait
另一个线程做从大到小的inorder search
主线程控制以上两个线程的search的wait, signal,做类似sorted array two-sum的寻
找,O(n)。 |
|
p*****2 发帖数: 21240 | 2 inorder 这个行不行
def inorder(root):
f=0
n=root
while n!=None:
if f==2:
if n.parent!=None and n==n.parent.left:
f=1
n=n.parent;
elif f==1:
print n.val
if n.right!=None:
f=0
n=n.right
else:
f=2
else:
if n.left!=None:
n=n.left
else:
f=1 |
|
p*****2 发帖数: 21240 | 3
C++我不会呀。
其实既然有了preorder了。把inorder打印出来就行了。
preorder+inorder决定了一棵树 |
|
Z*****Z 发帖数: 723 | 4 其实注意到了你强调general tree,只不过之前觉得对于general tree来说没有inorde
r traversal,所以也想当然的没有inorder和preorder,这是不对的。Anyway,这样一
想很多东西就开始make sense了。问题貌似因此被简化了。
试着扩展我上面提到的方法。假定输入两个traversal的list:preList[1,N]和postLis
t[1,N]。从root节点来看,这两个list的组成其实是这样的:
preList [ rootNode, [child_1_root, ...], [child_2], ... [child_m] ]
postList[ [... child_1_root], [child_2], ... [child_m], rootNode
]
算法需要做的就是,把preList的第一个节点(也就是postList的最后一个节点)取出来
当做root,然后把剩下的preList和postList划分成若区间(代表若干子树),然后递归
调用自己。划分的方法是,用两个指针同时从前往后扫描两个... 阅读全帖 |
|
a******o 发帖数: 106 | 5 高手麻烦检查下代码C#
就像BST inorder 遍历一样, private method 传递 ref k 和 输出的node, 每次遍
历一个数 k-1, 如果k==0 输出当前node 就行。
Kth Min 和 Max 原理完全一样, 只不过把Inorder 的顺序变成 右节点先考虑而已
。
请大侠们批评指正, 谢谢
private static void findKthMinNodeInBST(BinaryTree.Node n, ref int k
, ref BinaryTree.Node outnode)
{
if (n == null) return;
findKthMinNodeInBST(n.Left, ref k, ref outnode);
k--;
if (k < 0) return;
if (k == 0)
{
outnode = n;
... 阅读全帖 |
|
p*******8 发帖数: 344 | 6 其中有个input是inorder=[1,2], preorder=[2,1],eclipse里面跑了没错误,结果也是
正确的,为什么leetcode judge 就说runtime error? 有什么限制吗?inorder/
postorder也有这个问题,做过的大侠说说看? |
|
K*********n 发帖数: 2852 | 7 实践一下或者搜一下代码就知道了,很别扭,细节很繁复,考虑需要特别周全。不像re
cursive版,三种order颠倒一下顺序就行了。
非recuesive版本,按照实现难度从易到难是preorder, inorder, postorder。
preorder随便写,inorder要仔细琢磨。如果面试碰到写postorder,我这水平基本上就
跪了。 |
|
C***U 发帖数: 2406 | 8 void MorrisTraversal(struct tNode *root)
{
struct tNode *current,*pre;
if(root == NULL)
return;
current = root;
while(current != NULL)
{
if(current->left == NULL)
{
printf(" %d ", current->data);
current = current->right;
}
else
{
/* Find the inorder predecessor of current */
pre = current->left;
while(pre->right != NULL && pre->right != current)
pre = pre->right;
/* Make current as right child of its inorder predeces... 阅读全帖 |
|
c*****a 发帖数: 808 | 9 这样行不行,inorder traverse和reverse inorder traverse.把结果存进data
structure里面,然后比较
我以前的做法是reverse tree然后比较 |
|
c*****a 发帖数: 808 | 10 这样行不行,inorder traverse和reverse inorder traverse.把结果存进data
structure里面,然后比较
我以前的做法是reverse tree然后比较 |
|
c********t 发帖数: 5706 | 11 1. PostOrder和InOrder+特殊字符的方法是不是同样可行呢?
是
2. PreOrder,InOrder和PostOrder不加特殊字符的方法可以不可以呢?
不可以,见ls迪迪贴 |
|
c**y 发帖数: 172 | 12 多谢回复,还是有两个问题不明白,能否详细指教一下。
这个用特殊字符的方法一定要比较Both PreOrder(或者PostOrder)和InOrder的序列
吗?如果是的话,原因是什么呢?
啥是ls迪迪贴呀?另外问题2可能我没有表述清楚。我的意思是比较三个序列(分别由
InOrder,PreOrder和PostOrder Traversal的方法生成,但是不加任何特殊字符)。这
样三个序列不能唯一的确定一个Binary Tree吗? |
|
c**y 发帖数: 172 | 13 I come up with some questions when considering the following problem. A
related discussion is found here
http://stackoverflow.com/questions/1017821/find-whether-a-tree- but I didn't find the answer to my particular questions.
Problem: given two binary trees T1 (large) and T2 (small), how do we check
whether or not T2 is a subtree of T1? Brutal force solution is out of scope
of this post. Another solution is as follows. A general idea is to serialize
T1 and T2 into two arrays A(T1) and A(T2) firs... 阅读全帖 |
|
p*****2 发帖数: 21240 | 14
方法
附加问题:如果在bst里,很多其他方法都要调用inorder,怎样generalize inorder方法
答案是设计一个接口visitor
能不能详细说说需求。最好能举个例子。 |
|
j********x 发帖数: 2330 | 15 PS1: 1. Merge sorted linked lists; 2. Iterative inorder traversal of
binary tree
PS2: 1. Inorder successor of binary search tree;
onsite: 1. infix expression evaluation of integers and + - * /; 2.
implement a system to route packets based on their priority; implement
associative container Map; 3. Given n nodes, each node has 2 blocking
functions: send(int to_id, int msg); recv(int from_id); each node has a
value; design a method to distribute the sum of all values on every node to
all nodes; 4. ... 阅读全帖 |
|
j********x 发帖数: 2330 | 16 PS1: 1. Merge sorted linked lists; 2. Iterative inorder traversal of
binary tree
PS2: 1. Inorder successor of binary search tree;
onsite: 1. infix expression evaluation of integers and + - * /; 2.
implement a system to route packets based on their priority; implement
associative container Map; 3. Given n nodes, each node has 2 blocking
functions: send(int to_id, int msg); recv(int from_id); each node has a
value; design a method to distribute the sum of all values on every node to
all nodes; 4. ... 阅读全帖 |
|
j**7 发帖数: 143 | 17
第一题是不是可以用inorder traversal解答? 查看每个node是否大于其inorder
predecessor. |
|
m********l 发帖数: 791 | 18 希望斑竹不要置顶。
先来个背景:纯属给其他人找自信的哈哈。
09年机械本科毕业,10年来美150开外学校转过三次专业,彷徨过也和小本混过耽误了
很多时间,最后在CS落脚,是统计和CS的Dual Master。虽然学校的CS和统计的课程都
已经修完,但是学校课程实在太水所以大多数的知识还都是自己自学的。去年有过一次
web 开发的非IT 公司summer实习经历(这貌似是我第一次写超过100行的代码 = = )
,实习之后就基本把统计给放掉了,当然基本功还是有。目前还是学生身份但在一家公
司做full-time合同工,基本上就是修补bug打打杂,基本啥事没有白领工资,当然工资
必须很低。真正开始认真准备面试大概就是今年9月份,反正公司也不忙,自己就花大
量的时间在算法/leetcode/cc150/刷真题上,基本上还是会花10+小时以上在准备。
- CC150 重点章节基本都过了一遍
- Leetcode 做了大概80题,但是属于临时抱佛脚的状态。很多题目想个几分钟没什么
思路就在网上找答案了。但是自己还是花时间把答案认真研读过也总结过。每题也都做
了2-3遍,差不多是看到题目就把答案写... 阅读全帖 |
|
C*******n 发帖数: 24 | 19 好吧。我现在想到了。。。。我一直把preorder 按照inorder来想的。 inorder的死活
想不出来 |
|
A*********c 发帖数: 430 | 20 inorder遍历,此过程中建立两个数组,一个顺序存所有的Node地址,一个顺序存所有
的node值。
这步,相当于建立了一对儿parallel array.
Inorder产生的值数组应该是排好序的,但是不是,因为两个值错位了。
linear scan值数组。找到错位的两个index,然后去对调node地址array中相应的index
,这步是O(n), O(1).
n) |
|
h*****u 发帖数: 109 | 21 多位网友发过了,比如ultrabo,小节一下考点
A
/
B C
共六种排列 (要求): inorder, preorder, postorder, inorder right first (CAB),
preorder right first (ACB), postorder right first (CBA)
实现技术:recursive, iterative with one stack, iterative with two stacks,
iterative with parent pointer but no stacks, iterative with threaded binary
trees, Morris traversal (dynamic threaded tree)
做一个表,行是六种要求,列是各种技术,一共多少啊?还有没想到的吧。
Morris traversal codes: http://www.cnblogs.com/AnnieKim/archive/2013/06/15/MorrisTraversal.html |
|
x****h 发帖数: 3 | 22 EE MS毕业,面的是2014 New Grad,非常非常感谢版上大牛的内推,机会难得,很遗憾
最后没有拿到Offer。
Phone Intervew:
1. Palindrome String (LeetCode)
2. Sum3 (LeetCode)
3. Letter Combinations of a Phone Number (LeetCode)
因为都是熟题,电面非常顺利,Sum3还给了排序和HashTable两种解法,当天就通知了
Onsite。
Onsite Interview:
一共三轮,每轮45分钟,因为是Master所以没有System Design:
1. 半轮Culture Fit的问题,另外一道Coding,Sort List (LeetCode),要求In Place
,递归的解法要用到Call Stack,讨论了一下没想到更优化的方法,就写了递归Merge
的解法。
2. 两道Coding题目,一道可以化为普通的Binary Search,另外一道是Anagrams (
LeetCode),都很快搞定,之后剩下将近20分钟就让我提问题了,随便聊了一下感觉... 阅读全帖 |
|
r******n 发帖数: 170 | 23 来自主题: JobHunting版 - FB 面经 楼主是按照inorder和preorder reconstruct的方式写的吗? 我现在觉得这种方式比较
容易写的clean,assume 已经把tree load到数组里,不必要写文件IO的操作。
我之前按照leetcode网站的方式写的,serialize 按照inOrder写,遇到null就写#。
这样deserialize 可以写成:
public TreeNode btDeSerialization(String fileName) throws
FileNotFoundException {
Scanner s = new Scanner(new File(fileName)); //default delimiter is
white space
String token = s.next();
if(token.equals("#")) {
return null;
} else {
TreeNode root = new TreeNode(Integer.p... 阅读全帖 |
|
a****r 发帖数: 87 | 24 我的算法:
对两个BST同时进行in-order traversal in an iterative way.
bool is_BST_eq(TreeNode *r1, TreeNode *r2){
if(r1 == nullptr && r2 == nullptr) return true;
stack st1;
stack st2;
TreeNode *p = r1;
TreeNode *n1 = nullptr;
TreeNode *q = r2;
TreeNode *n2 = nullptr;
while(true){
// iterative inorder traversal for r1
while(!st1.empty() || p){
if(p){
st1.push(p);
p = p->left;
... 阅读全帖 |
|
l****i 发帖数: 2772 | 25 今天onsite,前三个面试官都是三哥。
被第二个三哥问晕了。问了我3道题。有一题是一个DP,白板写了。其他2个问题,跪了。
1.
问:无限数据流里,sample出k个。
答:reservoir sampling
问:解释一下这个算法
答:blabla
问:这个算法取每个数据的概率不一样,不可以
答:这是个经典算法,有paper证明过这个
问:好,那你现在证明一下这个算法
没研究过这个算法的证明,当场跪了。三哥坚持reservoir sampling是错误的。没办法
,我给了另外一个解法,每个data算一个random score,用heap保持score高的k个。
2.
问:给你一个binary tree,换成linked list
答:我问,是普通的binary tree? 不是BST?
问:就是最普通的任意binary tree
答:可以inorder走一遍,转换成linked list,返回inorder的第一个node作为list的
head
问:变成linked list后,怎么reconstruct回原来的binary tree。要求in place。
答:!#%&(,跪... 阅读全帖 |
|
a***e 发帖数: 413 | 26 牛。多谢!
但是我看了那个blog写的preorder和inorder OJ里面就是通不过,Inorder的弄到VS里
面debug半天,还是不知道哪里有问题,
Last executed input:
{1,2}
在VS里面能通过,不知道怎么回事。如果要问postorder Morris就简直太无语了,各位
有在面试中碰到的么?
vector inorderTraversal(TreeNode *root) {
vector ret;
TreeNode *r = root;
TreeNode *prev=NULL;
while(r!=NULL)
{
if(r->left==NULL)
{
ret.push_back(r->val);
r=r->right;
}
else
{
//find prede... 阅读全帖 |
|
I**********s 发帖数: 441 | 27 是啊, 如果BST, preorder/postorder之一就可以唯一确定结构. 如果是BT, 必须要
preorder+inorder, 或者postorder+inorder. |
|
l*****8 发帖数: 1083 | 28 inorder traversal结果是从小到大排序;reverse一下,先访问右子树,结果就是从大
到小排序了。写个递归的reversed inorder traversal应该就可以搞定了。
store |
|
n*****5 发帖数: 984 | 29 Phone1:
Q1.First position of integer in given sorted array with duplicate
Q2: Given inorder and preorder traversal strings of a binary tree, please
write code to reconstruct the tree
phone 2:
Q1: Best time to buy and sell stock.
Q2: Unsorted array with element 1~N. One element is replaced with another,
so there is one missing and one is duplicated. Find out which one is missing
/ duplicated.
---expected using swap or similar
yahoo onsite 每人45分钟
问web 结构 设计一个能够distributed, 快速查询的网络,支持restful 如何设计
从... 阅读全帖 |
|
x********u 发帖数: 1150 | 30 就是两个binary tree, 一大, 一小.
check 小树是否是大树的sub tree.
recursive的方法不谈了, 很清晰的解法.
另一种是把binary tree 存成 string, 然后用kmp 来check substring.
cracking code 150, 还有 geeksforgeeks 上面都是需要用preorder 和inorder
traversal 两种方法. 说是只有这样才能unique identify the tree.
个人觉得preorder traversal 加上 '#' mark null node就足够了. 没必要再用
inorder traversal了. 因为BT serialize/deserialze, preorder + sentinel 就够了.
请牛人指教.谢谢. |
|
g*****y 发帖数: 94 | 31 C语言的题,对C语言不是很熟,如果下面的有语法错误的话,还请谅解。对树进行中序
遍历,initial代码如下:
void inorder(TreeNode* root) {
LABEL:
if (root == NULL) {
return;
}
// Left subtree
inorder(root->left);
// Print value
printf("%dn", root->val);
// Right subtree
root = root->right;
goto LABEL;
}
其实上面的代码对于右子树来说就是变相的recursive调用,面试官要求如何用些代码
来取代"goto LABEL;"这句,然后写些iterative的代码来实现这个中序遍历。其实要求
就是怎么做到左子树recursive,右子树iterative。怎么破这个? |
|
g*****y 发帖数: 94 | 32 答案如下,感觉这个面试真怪。
void inorder(TreeNode* root) {
while (root != NULL) {
// Left subtree
inorder(root->left);
// Print value
printf("%d\n", root->val);
// Right subtree
root = root->right;
}
} |
|
发帖数: 1 | 33 第二道题是用inorder traversal, 但是有些tricky.
如果只是把元素值打印出来或者放入到list的话,就是个简单的inorder traversal.
但是这里是要把BST变成linked list。在遍历的时候要把tree node的left child变成
null, right child变为 next node of an in-order traversal.
刚开始我也写不出来,后来去看LC 114. Flatten Binary Tree to Linked List.
把那道题的最优解法改动了一下:
public class Solution {
private TreeNode pre = null;
private void flatten(TreeNode root){
if(root==null) return;
flatten(root.right);
root.right=pre;
pre=root;
TreeNode leftchild... 阅读全帖 |
|
h***a 发帖数: 1773 | 34 【 以下文字转载自 JobHunting 讨论区 】
发信人: repeat112 (windfantasy), 信区: JobHunting
标 题: 微软onsite面试悲剧,附面经并求分析,多谢~
发信站: BBS 未名空间站 (Thu May 8 18:31:09 2014, 美东)
一周之内面了微软两个组,刚刚收到结果双双悲剧,一个组的HR说It's a tough call
,另一个组的HR说very close,不知道是不是套话,总之很沮丧……来版上求问一下大
家问题可能出在哪,并且附上大概的面试过程和coding题目。
第一组:
第1轮:是一个SDE II,看名字像是中东人。coding题目是给定2棵树,判定是否其中一
棵是另一棵的subtree,同时用了DFS和BFS,写完code讨论了几个testcases和复杂度就
结束了。
第2轮:一个白哥Senior Lead,问的题目是一个maze(用2D matrix表示,有的坐标上
有障碍),给定起点和终点,找出从起点到终点的path,还是用的常规的DFS解法,搜
索过程排除有障碍的和访问过的坐标。
第3轮:一个小黑... 阅读全帖 |
|
v*****u 发帖数: 1796 | 35 //comfort 应该是真的close,要不然老大不会花时间的吧。好好准备,拿个比软
软好的offer
【 以下文字转载自 JobHunting 讨论区 】
发信人: repeat112 (windfantasy), 信区: JobHunting
标 题: 微软onsite面试悲剧,附面经并求分析,多谢~
发信站: BBS 未名空间站 (Thu May 8 18:31:09 2014, 美东)
一周之内面了微软两个组,刚刚收到结果双双悲剧,一个组的HR说It's a tough call
,另一个组的HR说very close,不知道是不是套话,总之很沮丧……来版上求问一下大
家问题可能出在哪,并且附上大概的面试过程和coding题目。
第一组:
第1轮:是一个SDE II,看名字像是中东人。coding题目是给定2棵树,判定是否其中一
棵是另一棵的subtree,同时用了DFS和BFS,写完code讨论了几个testcases和复杂度就
结束了。
第2轮:一个白哥Senior Lead,问的题目是一个maze(用2D matrix表示,有的坐标上
有障碍),给定起点和终点,找... 阅读全帖 |
|
w********d 发帖数: 34 | 36 原帖。面经贴。
先报下背景,fresh cs master, 无牛实习,在学校一直跟着一个还不错的项目。
google给了我10.5w base+15% bonus+150 stock,不知道是个什么水平,但我已经很满
足了,准备从了。
第一个电面:
1. 比较hashtable和BST,神马时候用hashtable,神马时候用BST。各自的优势与缺点。
2. 那人在doc里粘了个BST的图,然后让我分别写下preorder, postorder和inorder。
然后问我已知这三个order的结果,能不能construct原本的bst。
3. 填这样一个函数 String reorder(String s, String order), 也就是要把s根据
order的顺序重新排序,然后返回。比如reorder("banana","na")应该返回"nnaab"。
order里没有出现的字母放在最后面就行了。
第二个电面:
1. 聊了一下我现在做的项目
2. 比较array和linked list的。
3. 两个linked list,如何找到intersect的那个node。
4. ... 阅读全帖 |
|
发帖数: 1 | 37 宁南山:中美北京贸易谈判情况简析
当前位置:主页 > 百家争鸣 > 宁南山 · 2018-05-05 · 来源: 宁南山 · 浏览数
:735次
字体: 大 / 中 / 小
5月3日和4日,美国由财政部长姆努钦、商务部长罗斯、美国贸易代表莱特海泽、白宫
国家经济委员会主任库德洛、贸易顾问纳瓦罗、美国驻华大使布兰斯塔德和白宫国家经
济委员会幕僚艾森斯塔组成的豪华谈判代表团来北京和中国进行贸易谈判,我方是副总
理刘鹤带队。
我们很多人都关心,究竟谈的如何,中国和美国会不会彻底走上对抗的道路?
在此之前,我们先看下美国商务部统计的对华贸易结构。
我们只要记住,2017年美国对中国出口的三大件就可以了:飞机,汽车,大豆。
其中飞机占16.3%,大豆占12.4%,汽车占10.6%。
而中国对美国出口最大宗商品是电子产品,占了26.9%,这也不奇怪,毕竟中国是世界
电子产品制造中心,苹果的手机,平板,笔记本电脑就是中国出口美国的最大宗电子产
品。
另外中国还出口家具玩具,占了出口总额12%,还有纺织品,占出口总额的9%。
下图来自中信证券市场研究部。
好了,然后我们再看下5月4日《华尔街日报》公布... 阅读全帖 |
|
s***h 发帖数: 487 | 38 Recursive-function-call based graph traversal 跟 stack based graph traversal
在算法概念模型上有不少差别我想。
Recursive function call 是基于 non-overlapping subproblem 的编程概念。所谓
Preorder / inorder / postorder 就是 traverse non-overlapping subproblem 的
order。这个数学美,但有局限。
Stack 在编程概念上并不小矮挫,stack 的学名叫 LIFO ,对应的其他还有 FIFO,以
及更通用的 priority-queue (heap)。
: 不是叫iteration based traversal么?我没看哪个刷题网上用stack based来讲
,再说
: 了recursive的原理上不还是stack based么?只不过这个stack不用你费脑筋去
管理而
: 已。
|
|
s***h 发帖数: 487 | 39 当然对 graph 而不是 tree,subproblem 之间其实有 overlap,但这个 overlap 属于
trivial,用个 visited mark 先到先占位就是了。
: Recursive-function-call based graph traversal 跟 stack based graph
traversal
: 在算法概念模型上有不少差别我想。
: Recursive function call 是基于 non-overlapping subproblem 的编程概念。
所谓
: Preorder / inorder / postorder 就是 traverse non-overlapping
subproblem 的
: order。这个数学美,但有局限。
: Stack 在编程概念上并不小矮挫,stack 的学名叫 LIFO ,对应的其他还有
FIFO,以
: 及更通用的 priority-queue (heap)。
: ,再说
: 管理而
|
|
发帖数: 1 | 40 都是一样的
一个把stack放到代码段
一个把stack放到数据段
程序写法不太一样而已
: Recursive-function-call based graph traversal 跟 stack based graph
traversal
: 在算法概念模型上有不少差别我想。
: Recursive function call 是基于 non-overlapping subproblem 的编程概念。
所谓
: Preorder / inorder / postorder 就是 traverse non-overlapping
subproblem 的
: order。这个数学美,但有局限。
: Stack 在编程概念上并不小矮挫,stack 的学名叫 LIFO ,对应的其他还有
FIFO,以
: 及更通用的 priority-queue (heap)。
: ,再说
: 管理而
|
|
m**********n 发帖数: 118 | 41 刚看了国际田联的官方新闻:
http://www.iaaf.org/Mini/OLY12/News/NewsDetail.aspx?id=67328
最下端是他们的解释.明显中国队没有argue到点子上.关键是如果你选择extra throw就
不能要回原先成绩. 中国队没有说这点. 谁有兴趣来从新起草一份?
Hammer Throw Women Final – Jury of Appeal Decision
Friday 10 August 23:55
In the final of the Women’s Hammer Throw, the fifth throw of German athlete
Betty HEIDLER (bib number 1939) was measured but not entered in the data
system. The athlete was given an extra throw under protest (Rule 146.5),
which she fouled.
Chinese athlete Wenxiu ZHANG, ... 阅读全帖 |
|
t*******3 发帖数: 2005 | 42 In a Field Event, if an athlete makes an immediate oral protest
againsthaving a trial judged as a failure, the Referee of the event may, at
hisdiscretion, order that the trial be measured and the result recorded,
inorder to preserve the rights of all concerned.If the protested trial
occurred:(a)during the first three rounds of trials of a horizontal Field
Eventin which more than eight athletes are competing, and the athletewould
advance to the final three rounds of trials only if theprotest or s... 阅读全帖 |
|
发帖数: 1 | 43 5月3日和4日,美国由财政部长姆努钦、商务部长罗斯、美国贸易代表莱特海泽、白宫
国家经济委员会主任库德洛、贸易顾问纳瓦罗、美国驻华大使布兰斯塔德和白宫国家经
济委员会幕僚艾森斯塔组成的豪华谈判代表团来北京和中国进行贸易谈判,我方是副总
理刘鹤带队。
我们很多人都关心,究竟谈的如何,中国和美国会不会彻底走上对抗的道路?
在此之前,我们先看下美国商务部统计的对华贸易结构。
我们只要记住,2017年美国对中国出口的三大件就可以了:飞机,汽车,大豆。
其中飞机占16.3%,大豆占12.4%,汽车占10.6%。
而中国对美国出口最大宗商品是电子产品,占了26.9%,这也不奇怪,毕竟中国是世界
电子产品制造中心,苹果的手机,平板,笔记本电脑就是中国出口美国的最大宗电子产
品。
另外中国还出口家具玩具,占了出口总额12%,还有纺织品,占出口总额的9%。
下图来自中信证券市场研究部。
好了,然后我们再看下5月4日《华尔街日报》公布的美帝谈判框架,
我们来分析下美方的谈判框架,就基本可以了解谈判的全貌,毕竟美方是贸易战挑起者
和诉求提出者。
我自己也写过很多文档,起标题一直是一个重要工作,注意谈判框架标... 阅读全帖 |
|
|
g*******y 发帖数: 1930 | 45 recursive call passing lower&upper bound as parameters |
|
l**a 发帖数: 43 | 46 1. one array filled with numbers from 1 to N, but one number is missing. wha
t's the most efficient way to find the missing item? what about two or more
numbers are missed?
2. find the repetative chars in a string and delete them
3. find the binary tree from its preorder and inorder traversal |
|
h*********e 发帖数: 56 | 47 3.我只想出recursive的方法。
preorder第一个肯定是root。找到root在inorder里的位置,就能确定左右子树。然后
递归。 |
|
k***e 发帖数: 556 | 48 i did it with the same method. it works.
but i really did not like reading others' code :) I will write some analysis.
suppose we are doing inorder
i think the key point is:
when x is visited, we should know where to go next.
1. x has right kid, then sure go right.
2. x did not have right kid, then we need to go to an ancester of x, say y,
that has path to x as LRRR...R
3. if y cannot be found, done!
4. y exists. then visit y and start from y as above again.
stack version. |
|
|
c*****o 发帖数: 178 | 50 先node,再children nodes。这个是preoder吧?不好意思,我这些专业的术语不太会
说。inorder应该是left-root-right。如果不是Binary tree,不知道还有没有inoder。 |
|