滴滴2017在线笔试有感

呵呵 刚才参加完了 滴滴2017的在线笔试。


又一次被虐。。班上很多人都在耍算法,这样算法 那样算法。其实今天看他的 题目 也就是 数据结构的基础知识, 没有多高深的算法。。当然这是一个小生的 匹夫之言;


编程第一题: 求最大子序列和,Mark Allen Weiss 在 《数据结构和算法分析》 一书中用到了4种方法来 解决这个问题,我采用了最后一种算法 来解决该问题,结果通过率只有 90% , 我也是醉了。。现在也 不觉明理;


编程第二题: 说是有n个桌子,每个桌子 的容量不同; 又来了 m 批客人,每批客人的数量 不同 预计消费金额不同; 问题是 安排哪些 客人入住 使得 最后的消费金额最大 ?

这个问题 也就是一个 装箱问题(脱机算法的一个应用),采用的算法是 最佳适合递减算法, 也是 Mark Allen Weiss 在 《数据结构和算法分析》 一书中 提到的算法;(当然了, 答这个题的时候 小生我思路很清晰, 无奈之前全用C 耍数据结构,笔试用java 来写 不是那么自如。各种捉急。)


编程最后一题:说是 文件一  存储了很多 ip地址(如 10.84.236.239), 而文件二 存储了 很多 ip地址 和 ip地址所在地址(如  10.84.236.239 成都),问题是 如何尽可能快的 找出给定ip地址 所属的地址?


这个题, 我个人觉得 将 ip地址 依据 . 进行分割,然后建立n 叉树(但是 又不一定是 n 叉树这种数据结构, 我模糊记得Mark Allen Weiss 在 《数据结构和算法分析》 一书中提到了很多的 高级数据结构,或许在这里可以帮上忙,当然了, 小生没有做出来,估计数据结构 学得也是 一只半点),来进行查找;


最后要分享的是:其实 个人以为 吧 Mark Allen Weiss 的《数据结构和算法分析》这本书 吃透, 今晚的滴滴在线笔试也就那个样子。。好吧 翔出来了, 我要去 炸厕所了。


最后一点提醒: 在线笔试可以选择 java , C++, C ,但是 建议以java为主公方向的  童鞋些不要用 C 去follow 数据结构,而用java, 因为到时 你在线笔试的时候 还是要用自己熟悉的语言去 答题。而 C 确实太复杂了。我今晚也是日了狗了,之前全用 C 耍数据结构,结果 正式笔试的时候 不得不用 java,反正觉得不那么自如。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/330948.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mybatis3 XML属性配置

对象工厂(ObjectFactory) MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。默认的对象工厂需要做的仅仅是实例化目标类。如果想覆盖对象工厂的默认行为,则可以通过…

Eclipse反编译工具Jad及插件JadClipse配置

转自:http://www.blogjava.net/landon/archive/2010/07/16/326294.html Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的。不过因为是控制台运行,所以用起来不太方便。不过幸好有…

jvm系列(五):Java GC 分析

转载自 jvm系列(五):Java GC 分析Java GC就是JVM记录仪,书画了JVM各个分区的表演。 什么是 Java GC Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C/C的主要区别之一,作为Java开…

Mybatis3 (2)xml映射文件

SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序): cache – 给定命名空间的缓存配置。cache-ref – 其他命名空间缓存配置的引用。resultMap – 是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加载对象。…

面向对象进阶

第一章 类 1.1 如何定义类 类的定义格式如下: 修饰符 class 类名 {// 1.成员变量(属性)// 2.成员方法 (行为) // 3.构造方法 (初始化类的对象数据的) }例如: public class Student {// 1.成员变量public String name ;public c…

foreach 循环详解

译自&#xff1a;http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html考虑如下代码&#xff08;方式一&#xff09;&#xff1a;迭代一个 collection 集合对象&#xff0c;然后删除集合元素void cancelAll(Collection<TimerTask> c) {for (Iterator&l…

jvm系列(六):Java服务GC参数调优案例

转载自 jvm系列(六):Java服务GC参数调优案例本文介绍了一次生产环境的JVM GC相关参数的调优过程&#xff0c;通过参数的调整避免了GC卡顿对JAVA服务成功率的影响。 这段时间在整理jvm系列的文章&#xff0c;无意中发现本文&#xff0c;作者思路清晰通过步步分析最终解决问题。我…

Mybatis3(3)动态 SQL

可以利用动态SQL摆脱凭借SQL语句的痛苦。 MyBatis 3 大大精简了元素种类&#xff0c;现在只需学习原来一半的元素便可。MyBatis 采用功能强大的基于 OGNL 的表达式来淘汰其它大部分元素。 ifchoose (when, otherwise)trim (where, set)foreach if 动态 SQL 通常要做的事情是…

jvm系列(七):jvm调优-工具篇

转载自 jvm系列(七):jvm调优-工具篇16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面&#xff0c;其中就包括如何利用工具来监控调优前后的性能变化。工具做为图形化界面来展示更能直观的发现问题&#xff0c;另一方面一些耗费性能的分…

如何不用 List.clear() 方法 就清空 list 中的 所有元素(中兴面试)

import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List;// 涛哥 1609251501 // 如何不用 List.clear() 方法 就清空 list 中的 所有元素. public class MyList {public static void main(String[] args) {List<String>…

mybatis-spring 入门到实例

入门 安装 在pom.xml中导入mybatis-spring.jar包 快速入门 要把spring和mybatis一起使用&#xff0c;需要定义两样东西&#xff1a;SqlsessionFactory 和 至少一个数据库映射器类。 SqlSessionFactoryBean 是用于创建 SqlSessionFactory 的&#xff0c;需要一个Datasource…

在 eclipse 中 设置 jvm 的 运行时目录

然而 在 eclipse中 类所在包的目录是项目所在目录的 孙子目录 而不是 父目录&#xff1b;所以&#xff0c;如果要运行 诸如 chapter18.className这样的类 就需要 将 运行时目录设置为 项目目录/src 目录才行。

jvm系列(九):如何优化Java GC

转载自 jvm系列(九):如何优化Java GC「译」本文翻译自Sangmin Lee发表在Cubrid上的"Become a Java GC Expert"系列文章的第三篇《How to Tune Java Garbage Collection》,本文的作者是韩国人&#xff0c;写在JDK 1.8发布之前&#xff0c;虽然有些地方有些许过时&…

关闭json引用的方式

https://www.cnblogs.com/zjrodger/p/4630237.html 【具体方案】 1、如果你用的是FastJson&#xff0c;首先要关闭FastJson的“循环引用检测”特性。 2、如果你不想修改实体之间的关系&#xff0c;则将代码&#xff1a;“JSONField(serializefalse)”添加在下列方法中 public …

Redis学习记录

Redis简介 Redis是一个高性能的key-value非关系型数据库&#xff0c;可以存键&#xff08;key&#xff09;与5中不同类型的值&#xff08;value&#xff09;之间的映射&#xff08;mapping&#xff09;。 支持存储的value类型包括&#xff1a;String&#xff08;字符串&#…

jvm系列(十):教你如何成为Java的OOM Killer

转载自 jvm系列(十):教你如何成为Java的OOM Killer前言 虽然事隔半年&#xff0c;当时排查线上OOM事故的过程记忆犹新&#xff0c;每一个步骤都历历在目&#xff0c;感谢业务组、系统部、压测组、监控与应急部对架构组的强力支持&#xff0c;得以让这个Java内存问题水落石出&am…

java 程序的初始化顺序是怎样的?

【0】README 1&#xff09;本文 转自“ java 程序员面试笔试宝典”&#xff0c; 这个书有点意思&#xff1b; 【1】java程序初始化遵循三个原则&#xff08;rule&#xff09; r1&#xff09;静态变量 优先于 非静态变量&#xff1b; r2&#xff09;父类优先于子类进行初始化&a…

操作符

直接常量 double: 111d,111D 二进制&#xff1a;前缀为0b 十六进制&#xff1a;前缀为0x或0X&#xff0c;后面最大9位。 八进制&#xff1a;前缀为0&#xff0c;后面最大7位。 按位操作符 与&#xff08;&&#xff09;&#xff1a; 或&#xff08;||&#xff09;&#x…

jvm系列(十一):Java 8-从持久代到metaspace

转载自 jvm系列(十一):Java 8-从持久代到metaspaceJava 8介绍了一些新语言以及运行时新特点。其中一个特点便是完全移除了持久代(PermGen)&#xff0c;自从Oracle公司发布了JDK1.7后就已经宣布了这个决定。还有比如内部字符串&#xff0c;从JDK1.7开始就从持久代移除了&#xf…

我的控制反转,依赖注入和面向切面编程的理解

感谢http://blog.xiaohansong.com/2015/10/21/IoC-and-DI/ 的供图1.什么是控制&#xff1f; 如下图所示&#xff0c;我们看到了 软件系统中 对象的 高耦合现象。全体齿轮的转动由一个对象来控制&#xff0c;如类B。2.什么是 控制反转&#xff1f; 是用来对对象进行解耦。借助第…