Week20 0731--0806

作者: vincehxb | 来源:发表于2017-08-07 20:29 被阅读0次

question 1 列表查重

给定一个列表,假如里面有任何重复元素返回true,否则返回false

答案:

利用set函数能很简单的解决这类重复的问题。

下面我用了字典来统计,但是发现用get函数会慢很多

快 55ms
慢 80ms

用了dict的内置函数确实会增加一些时间损耗,所以自己权衡(但是用get方法建立元素统计的话代码很简便)

question 2:查询二叉树里面的两个元素和是不是 k

给定一个查询树,和值k,问树里面的两个元素能不能组成k(和为k)

我的答案:

最开始我想到的是利用二叉搜索树的结构特点,用搜索树来搜索  y=k-cur.val,可以看到这个想法还是比较耗时间的,因为对于每一个节点,都要调用一下搜索

别人的方法:

只遍历一次树,但是将值保存下来,这样每一遇到要查询的时候就调用hash查询,这样能够保证只用O(n)的时间就完成任务。

这里面要明白:假设 树有两个元素 a+b=k,遍历的时候先遇到了a,这时候在hash表中查询b=k-a,没有查询到,保存a到hash表,继续遍历,遇到b,查询hash表a=k-b,成功。所以这种方法只要树里面存在满足要求的元素,一定能查询的到

question 3 建立二叉树

给定一组列表,要求建立二叉树,根节点为列表中最大的元素,左子树由列表左边建立(以最大元素为界),右子树由列表右边建立

我的方法:

这个题目很适合用递归的方法做:

1.找到列表的最大数,将列表分成两部分

2.用最大数建立根节点,递归用子列表建立子节点

相关文章

  • Week20 0731--0806

    question 1 列表查重 给定一个列表,假如里面有任何重复元素返回true,否则返回false 答案: 利用...

  • week20

    我是一个焦虑的测试经理,因为我总是会担心只会做测试的人很快就会失业。有以下一些原因: 第一,测试的工作不是标准化的...

  • week20

    工作:比较顺利。印度妹子要离职了,印度妹子已经在公司干了5年半了,爱张罗事,努力学习技术,而且干活勤快,每天日报都...

  • 书笺week20 ☆ 有关英语学习的那些事儿

    勤快一把,周五交作业。 week20(20170515-0521):略读3本 这周用了几小时,翻阅了3本近来各个平...

  • 和情绪做一辈子好朋友|2020年week20

     week20 1.备考专业2做1套题 2.日常精进,陪娃读故事 3.觉察日记讲课1次 ✨小...

  • 练字 week20

  • 【周复盘】2020week20:劳模周

    ❤【week20小计划及完成情况】 1.整理昊昊视频30minx4;【没完成】 2.阅读生命教育30minx3;【...

  • 2019—week20(5.19)

    1.工作/学习:1天。市考出成绩了,高估了行测,低估了申论。 2.家庭:健康平顺,妈妈来了,超幸福。 3.读书观影...

  • week20:陪娃抗高烧,做棒棒的妈咪。

    week20:陪娃抗高烧,做棒棒的妈咪。[憨笑] 文/Amy 计划: 1.一对一感恩日记群小伙伴聊天3位完成 2....

  • Week20  突然舒适区

    1 跟编辑确定了书的大纲和风格。 2 跟变现营的小伙伴枝枝面基。 3 打卡文博会 4 给雨哥买了超可爱的钥匙扣 5...

网友评论

    本文标题:Week20 0731--0806

    本文链接:https://www.haomeiwen.com/subject/qpndlxtx.html