随笔分类 -  Algorithms/刷题反馈

摘要:jupyter notebook shift+table 显示当前光标的函数基本信息 control +? 快速切换评论或者代码 Spyder control +1 快速切换评论或者代码 配置服务器常用代码 阅读全文
posted @ 2019-04-25 17:06 dgi 阅读(164) 评论(0) 推荐(0)
摘要:题目来源: https://leetcode.com/problems/flatten-nested-list-iterator/submissions/ 自我感觉难度/真实难度:mid 写题时间时长: 题意: 分析: 自己的代码: 代码效率/结果: 优秀代码: 代码效率/结果: 自己优化后的代码: 阅读全文
posted @ 2019-04-16 10:14 dgi 阅读(84) 评论(0) 推荐(0)
摘要:题目来源: https://leetcode.com/problems/rotate-image/ 自我感觉难度/真实难度:hard 写题时间时长:1h 题意: 旋转一个矩阵 分析: 我自己打算用旋转最外圈的元素来实现旋转,内圈也是。但是这样很容易出错,对圈数和行数之间的关系,很容易出错 自己的代码 阅读全文
posted @ 2019-04-11 11:01 dgi 阅读(145) 评论(0) 推荐(0)
摘要:https://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8?tpId=13&tqId=11164&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/ 阅读全文
posted @ 2019-04-08 16:06 dgi 阅读(198) 评论(0) 推荐(0)
摘要:1.主要问题是,不知道链表是怎么处理的。常常和[ a { }] 这种存储格式搞混淆。这里注意链表是自己的定义的新的数据结构,只要每次会知道后面的.next表示一条绳子牵住的下一只狗就可以了,这条狗可以给别人牵 2.写完代码,一定要考虑输入为空的情况 3.每一人只能牵一条狗,注意原来的狗绳会自动断开 阅读全文
posted @ 2019-04-06 21:15 dgi 阅读(151) 评论(0) 推荐(0)
摘要:问题反思:1.冒号输入开始有点问题,导致没有办法运行,牛客网又不能提示错误,差错好一会 开始写代码的时候,一定要注意右下角是不是英文输入模式 (英文: () 中文:()) 2.选择骚操作,使用 and 的短路求值原理,也就是如果and 前面的是FALSE,那么后面就短路了,不需要考虑 1hour 阅读全文
posted @ 2019-04-03 09:27 dgi 阅读(147) 评论(0) 推荐(0)
摘要:这道题曾经在哪里做过,但是还是写不出代码,没想起来思路 有一个数组,每次等于除去自己的剩余数字之积 可以利用排列组合,1 a1 a1a2 a1a2a3 a4a3a2 a4a3 a4 1 56min 阅读全文
posted @ 2019-03-22 23:04 dgi 阅读(109) 评论(0) 推荐(0)
摘要:面试了某蚂蚁,笔试题目,没有编译器,直接白板写代码,够溜的,用了暴力破解,有点问题,没有达到最优 题目:给你一个数组和一个数字num,找出数组中两个数a 和b,使得a+b 与 num 的差的绝对值最小。比如输入[8,3,6,1] 和13,输出8 和6。 输入的代码: 解决问题的部分,主要思路是:先把 阅读全文
posted @ 2019-03-22 10:47 dgi 阅读(883) 评论(0) 推荐(1)
摘要:感觉想错了方向,原来的思路是正确的,但是以为错了,想用最大子列和来求解,后来发现有问题 1.思路是有的,可是为什么写的很乱很差? 2.想清楚什么是要求的量,哪些量是用来覆盖的,不断更新的 1hour 阅读全文
posted @ 2019-03-20 23:11 dgi 阅读(126) 评论(0) 推荐(0)
摘要:这个题目的复杂度是n,因为第二层循环和数据规模n是没有关系的 二分查找的例子 这个PPT解释了为什么不同底数的log,都统称longN sz+=sz其实是sz以两倍的速度增加,靠近n。所以第一层循环是longN,第二层循环是N。总的复杂度是NlongN 这里结束的时候,是x 等于根号n 这是一个找素 阅读全文
posted @ 2019-03-20 08:55 dgi 阅读(189) 评论(0) 推荐(0)
摘要:《剑指offer》 easy 1.不会用归并排序,没有想到怎么样最快速实现这个想法 2.暴利的循环解题肯定是没有好处的,要注意思考和现有的什么算法有异曲同工的地方 自己手写了一边以后: 1,while 循环的条件一定要注意是什么条件,很容易出错 2,递归出口和最后返回的类型要一致 3,全局变量在使用 阅读全文
posted @ 2019-03-18 22:10 dgi 阅读(143) 评论(0) 推荐(0)
摘要:基本的输入输出: 一次输入多行 第一行输入接下来,要输入的n行 注意:print(),后面留一个逗号,表示输出不换行 实例变量的初始化 注意:1.是两个_ 2.(self) 字典 字典初始化: 树 层序遍历一颗树: 集合 阅读全文
posted @ 2019-03-16 22:51 dgi 阅读(663) 评论(0) 推荐(0)
摘要:https://leetcode.com/problems/kth-smallest-element-in-a-bst/discuss/63829/Python-Easy-Iterative-and-Recursive-Solution 1.读题要仔细,认真看懂题目再写 2.如何用递归、循环从小到大 阅读全文
posted @ 2019-03-14 21:55 dgi 阅读(149) 评论(0) 推荐(0)
摘要:代码效率/结果: 1.思考的时候,涉及比较的问题,一定要考虑多指针。 2hour 阅读全文
posted @ 2019-03-07 20:20 dgi 阅读(190) 评论(0) 推荐(0)
摘要:回溯法,直接DFS就可以了 虽然有思路,但是写出来的代码细节通不过,注意退回去的时候 1.函数输入变量设计的时候,我们要的是输入每次不同的东西。如果是全局的东西,我们可以不当作输入变量 2.回溯法,如果需要改变全局变量的值,那么从DFS后面回去的时候,要改回来!!! 阅读全文
posted @ 2019-03-05 12:47 dgi 阅读(220) 评论(0) 推荐(0)
摘要:自己想了一个插空的方法,写出来了,但是效率不是很高,因为是循环了 所有的情况,这里需要需要主要条件的使 1.使用回溯法,可以节省时间 3.0h 阅读全文
posted @ 2019-03-03 12:40 dgi 阅读(154) 评论(0) 推荐(0)
摘要:题目来源: 自我感觉难度/真实难度: 题意: 分析: 自己的代码: class Solution: def topKFrequent(self, nums: List[int], k: int) -> List[int]: res=[] num={} for i in nums: if i not i... 阅读全文
posted @ 2019-02-28 22:07 dgi 阅读(117) 评论(0) 推荐(0)
摘要:这个代码,使用两次迭代循环 这个思路很好,但还是比较难想到 效率/结果: 1.必须客观的认识自己的思路,这是使用了两次迭代。第一次是对所有点进行,第二次是对每个点找需要的结点 2. 阅读全文
posted @ 2019-02-07 23:12 dgi 阅读(123) 评论(0) 推荐(0)
摘要:101. Symmetric Tree 第一次超时的代码,思维不简洁 Time Limit Exceeded 1.解题思路不对,太简单了。没有想到最根本的那个解决思路。 递归也可以在两层树之间进行 阅读全文
posted @ 2019-02-05 22:21 dgi 阅读(126) 评论(0) 推荐(0)
摘要:Runtime: 32 ms, faster than 100.00% of Python3 online submissions for Second Minimum Node In a Binary Tree. 不用维护所有的值,只关心倒数第二小的数字 1.set的初始化不熟练 2.sort函数 阅读全文
posted @ 2019-01-31 14:35 dgi 阅读(134) 评论(0) 推荐(0)