算法工程师<编程题>】的更多相关文章

<编程题> 1.[Maximum Product Subarray 求最大子数组乘积] 这个求最大子数组乘积问题是由最大子数组之和问题演变而来,但是却比求最大子数组之和要复杂,因为在求和的时候,遇到0,不会改变最大值,遇到负数,也只是会减小最大值而已.而在求最大子数组乘积的问题中,遇到0会使整个乘积为0,而遇到负数,则会使最大乘积变成最小乘积,正因为有负数和0的存在,使问题变得复杂了不少.比如,我们现在有一个数组[2, 3, -2, 4],我们可以很容易的找出所有的连续子数组,[2], [3]…
注: 如下的题目皆来自互联网,答案是结合了自己的习惯稍作了修改. 1. 求一个数的二进制中的1的个数. int func(int x) { ; while (x) { count++; x = x& (x - ); } return count; } 2. 已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串.不调用C++/C 的字符串库函数,请编写函数 strcpy.…
比较重量 小明陪小红去看钻石,他们从一堆钻石中随机抽取两颗并比较她们的重量.这些钻石的重量各不相同.在他们们比较了一段时间后,它们看中了两颗钻石g1和g2.现在请你根据之前比较的信息判断这两颗钻石的哪颗更重. 给定两颗钻石的编号g1,g2,编号从1开始,同时给定关系数组vector,其中元素为一些二元组,第一个元素为一次比较中较重的钻石的编号,第二个元素为较轻的钻石的编号.最后给定之前的比较次数n.请返回这两颗钻石的关系,若g1更重返回1,g2更重返回-1,无法判断返回0.输入数据保证合法,不会…
Light 题目描述 在小红家里面,有n组开关,触摸每个开关,可以使得一组灯泡点亮.现在问你,使用这n组开关,最多能够使得多少个灯泡点亮呢? 输入 第一行一个n,表示有n组开关.接下来n行,每行第一个整数为k,表示这个开关控制k个灯泡,接下来k个整数,表示控制的灯泡序号. 满足:1<=n<=1000 .1<=k<=1000 .序号是在int范围内正整数. 输出 输出最多多少个灯泡点亮. 样例输入 3 1 1 1 2 2 1 2 样例输出 2 思路 这道题是一个去重的问题,即多个开关…
生成回文串 题目描述 对于一个字符串,从前开始读和从后开始读是一样的,我们就称这个字符串是回文串. 例如"ABCBA","AA","A"是回文串,而"ABCD","AAB"不是回文串. 牛牛特别喜欢回文串,他手中有一个字符串s,牛牛在思考能否从字符串中移除部分(0个或多个)字符使其变为回文串,并且牛牛认 为空串不是回文串. 牛牛发现移除的方案可能有很多种,希望你来帮他计算一下一共有多少种移除方案可以使s变为…
字典序最大子序列 题目描述 对于字符串a和b,如果移除字符串a中的一些字母(可以全部移除,也可以一个都不移除)就能够得到字符串b我们就称b是a的子序列. 例如."heo"是"hello"的子序列,而"xl"不是. 对于给定的一个字符串s,请计算出s的字典序最大的子序列. 输入描述: 输入包括一行,一个字符串s,字符串a长度Length(1 <= 1ength <= 50).s中每个字符都是小写字母 输出描述: 输出一个字符串,即a的字…
有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数. 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在. 测试样例: [1,3,5,2,2],5,3 返回:2   投机取巧能通过: class Finder { public: int findKth(vector<int> a, int n, int K) { // write code here sort(a.begin(), a.end()); return a[n - K];…
传送门 有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数. 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在. 测试样例: [1,3,5,2,2],5,3 返回:2 note: 注意手写快排的时候: while(i < j) { while(j > i && a[j] > a[left]) j--; while(i < j && a[i] <= a[left]) i++; if(i…
只因在今日头条刷到一篇文章,我就这样伤害我自己,手贱. 刷头条看到一篇文章写的滴滴出行2017秋招编程题,后来发现原文在这里http://www.cnblogs.com/SHERO-Vae/p/5882357.html.看了下,挺有意思,于是就想了想,又写了写,最终撸出来了.刚开始一看顿时感觉很熟悉,大学数据结构和算法课肯定讲过相关东西,什么深度搜索,广度搜索,最优路径,最优解...但是现在你让我说个一二三,我还就只记住几个名字,说不定名字都记错.我向来不喜欢死记东西,能查到的真的不想背下来,而…
我的编程开始(C) C算法编程题(一)扑克牌发牌 C算法编程题(二)正螺旋 C算法编程题(三)画表格 C算法编程题(四)上三角 C算法编程题(五)“E”的变换 C算法编程题(六)串的处理 C算法编程题(七)购物…
前言 上一篇<C算法编程题(六)串的处理> 有些朋友看过我写的这个算法编程题系列,都说你写的不是什么算法,也不是什么C++,大家也给我提出用一些C++特性去实现问题更方便些,在这里谢谢大家提的一些建议和意见,我当时写这个系列的目的不是探讨算法和C++的特性,可能是我标题写的不好吧,让大家误解了,再这里给大家说声抱歉. 大家都学过数学,做过奥数题,其实大家看看我写的前几篇文章就会发现,做这类编程题就像做奥数题一样,锻炼的是我们的逻辑思维能力,我当时写的目的也是这样.如果说用一些语言的特性去实现,…
前言 上一篇<C算法编程题(五)“E”的变换> 连续写了几篇有关图形输出的编程题,今天说下有关字符串的处理. 程序描述 在实际的开发工作中,对字符串的处理是最常见的编程任务.本题目即是要求程序对用户输入的串进行处理.具体规则如下:    1. 把每个单词的首字母变为大写.    2.    把数字与字母之间用下划线字符(_)分开,使得更清晰    3.    把单词中间有多个空格的调整为1个空格.    例如:        用户输入:        you and     me what …
前言 上一篇<C算法编程题(四)上三角> 插几句话,说说最近自己的状态,人家都说程序员经常失眠什么的,但是这几个月来,我从没有失眠过,当然是过了分手那段时期.每天的工作很忙,一个任务接一个任务,脑子不停的在运作,晚上也搞到很晚,然后就回到住的地方,看会书倒头就睡了,而且睡的很死,也许是太累了,身体累,精神也累.还好早上上班时间不是很早,离公司也比较近,可以多睡会,但是也还是睡不够的感觉. 有时候发现做程序员真的很累,但是既然选择了这条路,自己平民屌丝一个,家里既没背景又没钱,只能坚持走这一条路…
前言 上一篇<C算法编程题(三)画表格> 上几篇说的都是根据要求输出一些字符.图案等,今天就再说一个“上三角”,有点类似于第二篇说的正螺旋,输出的字符少了,但是逻辑稍微复杂了点. 程序描述 方阵的主对角线之上称为“上三角”.    请你设计一个用于填充n阶方阵的上三角区域的程序.填充的规则是:使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充.    例如:当n=3时,输出:    1 2 3    6 4    5    当n=4时,输出:    1  2 3 4    9…
前言 上一篇<C算法编程题(二)正螺旋> 写东西前还是喜欢吐槽点东西,要不然写的真还没意思,一直的想法是在博客园把自己上学和工作时候整理的东西写出来和大家分享,就像前面写的<T-Sql学习系列>,当然这些只是适合初学者,之后还有很多系列,写这些东西的目的:一是真的可以帮到那些初学者:二是自己回过头去回忆那些曾经的记忆,毕竟工作了,也没那个时间了. 说到时间,真的还没时间,这段时间公司的项目要上线,都比较忙,真的好后悔前段时间没有去好好看看书,前两天买了两本书<CLR VIA…
前言 上一篇<C算法编程题(一)扑克牌发牌> 写东西前总是喜欢吐槽一些东西,还是多啰嗦几句吧,早上看了一篇博文<谈谈外企涨工资那些事>,里面楼主讲到外企公司包含的五类人,其实不只是外企如此,私企和合资的都是如此,一些公司反正什么人都有,就怕你的上司是第一种,你的同事是第二种.这种搭配最讨人厌,反正技术和工作效率不怎么样,“做人”还蛮会做的.其实不管公司怎样,同事怎样,工作环境怎样.就像里面楼主说的,都要坚持自己选择的路,并坚持走下去... 这几天都在博园逛一些技术大牛的博客,也买了…
前言 上周写<我的编程开始(C)>这篇文章的时候,说过有时间的话会写些算法编程的题目,可能是这两天周末过的太舒适了,忘记写了.下班了,还没回去,闲来无事就写下吧. 因为写C++的编程题和其他语言实现功能不一样,要动脑子,写笔记,思考整个的流程.就比如实现字符串截取,C#直接一个SubString搞定,C可能要用到指针来实现.当时参赛培训的时候不知道死了多少的脑细胞,现在想想都后怕,但是前话都说了,得必须写了.今天写的这个扑克牌发牌的题目,是我在参赛培训的时候练习的,记得当时写了好长时间才搞出来…
美团点评2017校招笔试真题-算法工程师A 1.下面哪种STL容器的实现和其它三个不一样 A. set B. deque C. multimap D. map 正确答案: B STL的容器可以分为以下几个大类: 1. 顺序(序列)容器,有 vector,list,deque , string,stack( 适配器类), queue( 适配器类), priority queues( 适配器类). 2.关联容器,有set, multiset,map,multimap, bitset,hash_set…
美团点评2017校招笔试真题-算法工程师B 1.以下关于经典的k-means聚类的说法哪个是错误的? A:k-means聚类算法是全局收敛的 B:k-means的聚类结果和初始聚类中心点的选取有关 C:k-means聚类算法的时间复杂度是O(NKT),其中N为样本个数,K为聚类团数量,T为迭代次数 D:k-means聚类算法无法自动确定聚类团数量 正确答案: A 时间复杂度O(tkn)是线性的,t是循环次数,k是聚类的个数,n是数据点的个数. 用户需事先指定聚类数目k.算法对异常值十分敏感.对初…
介绍 本篇是"FCC编程题之中级算法篇"系列的最后一篇 这期完结后,下期开始写高级算法,每篇一题 目录 1. Smallest Common Multiple 2. Finders Keepers 3. Drop it 4. Steamroller 5. Binary Agents 6. Everything Be Tru 7. Arguments Optional 1. Smallest Common Multiple Find the smallest common multipl…
编程题很简单.整个试卷结构为: 一.问答题: 对前端的理解,了解哪些框架库? 二.在线编程题:身份证分组 如下第一道:身份证分组 三.在线编程题:身份证分组.统计字符.酒店价格(三选二) 如下第二三四道题中三选二作答. 我也搞不懂为什么有两部分编程题~~~下面详细说一说编程题目及JS代码实现: 第一道:身份证分组 代码: var line; while(line = read_line()){ while(line.indexOf(" ") != -1){ line = line.re…
后天java考试,现在闲着也是闲着,来做做java题吧. 前不久在网上看见了50道java算法编程题,感觉还不错,记得大一学C语言的时候做过一些,现在用java来回顾下吧,也算应付考试吧. 代码要是有啥不完美的地方还请各位积极指出啊,小的还是菜鸟啦,出错难免的哦~~~ 暂时一篇帖子放5道吧,代码比较占地方,等全部做完了发一个目录吧 [程序1] TestRabbit.java 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,…
阿里面试总结: 一遍一遍地刷阿里网站,今天发现“面试中”变成“待跟进offer”了,写个面经攒人品,希望offer通知邮件早点来吧. 我当时投简历时投了C/C++工程师,其实也没经过啥考虑,因为我一开始是把重点放在进网易游戏或者腾讯游戏部门,投阿里就纯粹出于增加点面试经验,随便找了个C/C++工程师岗位就找人内推了(后转为算法工程师). 一面(3月16日):电话打来时手机显示北京电话,还以为是诈骗的(囧...).听声音,这位阿里面试官大概是三十多岁,有点资历的人吧.一开始让我介绍项目,然后我就把…
先来一波吐槽:选择题全是不定项选择,考的内容在我看来,"反正我接受唔到咯". 比如: 1.Windows操作系统某个通信机制(具体题目忘了,反正答案我选了个熟悉的名词"消息队列"). EXM???服,我还真从来没关注过Windows的任何机制.手动黑人问号. x. 以下哪些属于Linux的发行版本?A.OpenSUSE B.Red-hat C. CentOS D.Ubuntu EXM???所谓的考Linux就是这样考的?再次手动黑人问号. 还有一题问的是Linux设…
本人本科硕士皆双非,和牛客大佬们没得比,目前拿到的还可以的offer就是百度SP和京东SP,都是做的推荐算法,其他的不说了. 先说一下个人经历吧,学校比较水,实验室没有项目,实习经历:腾讯实习+滴滴实习   比赛经历:几个数据挖掘竞赛Top5的名次. 个人感觉,算法岗确实看学校,但如果简历还可以的话,还是有面试机会的,内推投的简历,80%都给了面试机会吧. 百度提前批(feed部): 3轮电话面,远程桌面coding. 百度的面试风格其实是比较好把控的,基本就是项目问答.coding.机器学习算…
剑指offer 面试题29:数组中出现次数超过一半的数字 提交网址: http://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163?tpId=13&tqId=11181                                                 参与人数:3512  时间限制:1秒  空间限制:32768K 本题知识点:数组 题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一…
本文转载自:http://www.huaxiaozhuan.com/ 这是一份机器学习算法和技能的学习手册,可以作为学习工作的参考,都看一遍应该能收获满满吧. 作者华校专,曾任阿里巴巴资深算法工程师,现任智易科技首席算法研究员,<Python 大战机器学习>的作者. 这是作者多年以来学习总结的笔记,经整理之后开源于世.目前还有约一半的内容在陆续整理中,已经整理好的内容放置在此. 曾有出版社约稿,但是考虑到出版时间周期较长,而且书本购买成本高不利于技术广泛传播,因此作者采取开源的形式. 笔记内容…
20165237 2017-2018-2 <Java程序设计>第十周考试补做及编程题 知识点 1.链表是由若干个称作节点的对象组成的一种数据结构,每个节点含有一个数据和下一个节点的引用 . 2.Collections类提供的用于排序和查找的类方法如下: public static sort(List list) 该方法可以将list中的元素升序排列. int binarySearch(List list, T key,CompareTo c) 使用折半法查找list是否含有和参数key相等的元…
链接:https://www.nowcoder.com/questionTerminal/27f3672f17f94a289f3de86b69f8a25b来源:牛客网 [编程题]堆棋子 热度指数:14085 时间限制:1秒 空间限制:32768K 算法知识视频讲解 小易将n个棋子摆放在一张无限大的棋盘上.第i个棋子放在第x[i]行y[i]列.同一个格子允许放置多个棋子.每一次操作小易可以把一个棋子拿起并将其移动到原格子的上.下.左.右的任意一个格子中.小易想知道要让棋盘上出现有一个格子中至少有i…
数据结构+算法面试100题~~~摘自CSDN,作者July 1.把二元查找树转变成排序的双向链表(树) 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表.要求不能创建任何新的结点,只调整指针的指向.   10  / /  6  14 / / / /4  8 12 16 转换成双向链表4=6=8=10=12=14=16.  首先我们定义的二元查找树 节点的数据结构如下: struct BSTreeNode{  int m_nValue; // value of node  BSTr…