Category: 学习笔记
这题难度中等, 原因就是在实现的时候细节很多, 不容易一次性搞对. 还好这两个列表表示的整数是反过来的, 所以实现上可以边遍历边相加, 只需要在累加每一位的时候记得记住进位即可. C++单向列表定义如下: struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; 当然, 还有更笨的方法, 就是先把每个列表转换成数字, 然后想加再把结果换成列表. 我们需要创建一个dummy结点, 记住, 在函数返回的时候返回 dummy.next …
2018年7月19日
ACM题解, 学习笔记, 数学, 数据结构与算法, 有意思的, 程序员, 程序设计, 算法, 编程, 计算机, 软件工程, 面试
这题据说是 GOOGLE的面试题, 但是却真实的被一些软件公司拿来考应聘者. 比如我在前几年面试剑桥的博通公司/Broadcom, 在第二轮也被问到了这个问题. 题意是: 给你两个鸡蛋, 有个100层楼, 你可以把鸡蛋从任意一层楼扔下, 鸡蛋可能破, 也可能不破, 如果不破的话, 你可以继续用这个鸡蛋扔. 你需要用这两个鸡蛋来试出鸡蛋会破的最小楼层高度. 这两个鸡蛋一模一样. 问你采用什么策略可以使最坏情况下的尝试次数最少? 什么是最差情况? 如果你只有一个鸡蛋, 那么你最坏需要100次(需要从1层楼开始测试)才可以得到结论. 最直接的做法就是从第一层开始试, 然后第二层以此类推, 但是这种方法只需要用到1个鸡蛋即可. 如果第N层鸡蛋没碎但是第N+1层碎了, 答案就是N. 这种情况下最坏需要尝试100次. 如果我们在第50层扔呢? 如果鸡蛋碎了, 那么答案就在第1到第49层, 反之答案就在第51到第100. …
本数鸡系列: 机器学习系列之: 怎么样数鸡? 机器学习系列之: 怎么样数鸡鸡? 大津算法来计算阈值 机器学习系列之: 怎么样数鸡鸡? 分类 Clustering 这已经是3个月前的事了, 后来懒癌, 加收益变少没动力, 于是一直搁放着, 今天突然想起, 有点时间变想把这事完结了. 上次说到, 通过大津算法 Otsu’s Method计算出一个阀值, 然后就可以把图片变成黑白的, 比如白的是鸡, 黑的是空气. 我们就可以遍历这张黑白图片的每个相素点: /// <summary> /// 遍历图片的每个相素点 /// …
我们都知道 斐波那契数列 的定义如下: We all know the Fibonacci sequence is defined as: and the terminating conditions are 其中 First few Fibonacci numbers are 前面几项的值为: 0, 1, 1, 2, 3, …
问题: Python 的 List 和 Dictionary 有啥区别? 不许查资料, 你怎么回答这个面试题? 我不加思索的回答到: List 就像数组一样 而 Dictionary 是 键值对的一数据结构. 面试官继续说, 那么 Dictionary 是有序的么? 啥? 啥是有序? 我还是犹豫了一下, 说是无序的, 面试官说, 为什么? 我说, 因为 Python …
机器学习这几年越来越火, 特别是相关算法五花八门, 但最有名的就那么几种, 而在这几种中, 要数KNN算法最为简单, 高效并且有鲁棒性 (Robustness). 我们先来看一问题: 已知正方形和三角形的归类, 请问绿色的圆是属于三角还是属于正方形? 这里的KNN 指的是 K-nearest neighbour 翻译过来就是 K个最近的邻居, 如果我们指定K=3, 那么和绿色圆最近的是2个三角形和1个正方形, 所以按多数为主的标准, 我们预测这个圆属于三角, 相反, 如果K=5的情况, 和圆最近的有3个正方形和2个三角形, 这时候我们就按多数投正方形. 用 MySQL 来演示 KNN算法 我们先创建一个表含有两个字段x和y, …
现在最吃香的工程师是 全栈工程师 (Full Stack), 因此你除了要好的算法数据结构知识外 你还需要懂数据库等计算机知识. 有人说, SQL好简单, 其实SQL也可以考考你的逻辑, 比如有这么一个简单的 (含有两个字段, 三行记录) 的关系表 (假设表名为 Employee). 对了, 数据工程师/Data Engineer, 还有相关的一些职位: Machine Learning Engineer/机器学习工程师等 都会需要面试SQL. +----+--------+ | Id | Salary | …