myarycn
BAN USERI think it's easy to use MapReduce dealing with this problem. pls correct if I'm wrong
from mrjob.job import MRJob
class linesCount(MRJob):
def mapper(self, _, value):
yield 'lines:',1
def reducer(self, lines, occurrence):
yield lines, sum(occurrence)
if __name__=='__main__':
linesCount().run()
public void findCousin(TreeNode *node)
{
int c1 = 0;
int c2 = 0;
boolean flag = False;
TreeNode *tmp;
Queue *q = new Queue();
q.EnQueue(node);
while(!q.isEmpty() && Flag==False)
{
tmp = q.DeQueue();
if(tmp->left->data == node->data || tmp->right->data == node-->data)
flag = True;
else
{
q.EnQueue(tmp->left);
q.EnQueue(tmp->right);
}
c2 = q.size();
if(--c1 == 0)
c1 = c2;
else
-- c1;
}
while(!q.isEmpty())
{
tmp = q.DeQueue();
if(c1 > 0)
-- c1;
q.EnQueue(tmp->left);
q.EnQueue(tmp->right);
else
System.out.print(tmp->data);
}
}
public static void printLevelOrder(TreeNode* root)
{
if(!root)
return;
int level = 0;
int c1 = 0;
int c2 = 0;
TreeNode *node;
List<TreeNode> nodes = new List<TreeNode>();
Queue *q = new Queue();
q.EnQueue(root);
while(! q.isEmpty())
{
nodes.clear();
System.out.println("level "+level);
node = q.DeQueue();
System.out.println("node->name");
nodes.addAll(node->getChildren());
for( TreeNode n: nodes)
{
q.EnQueue(n);
}
c2 = q.length();
if(--c1 == 0)
{
++level;
c1 = c2;
}else
--c1;
}
}
DTrace/Strace/ITrace
- myarycn September 18, 2014