数据结构和算法
SCAU_Jimmy
机器学习爱好者
展开
-
长度为n的顺序表L,编写一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法删除线性表中所有值为X的元素
解法:用K记录顺序表L中不等于X的元素个数,原创 2014-05-19 22:07:02 · 10543 阅读 · 0 评论 -
快速排序
快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。#includeusing namespace std;原创 2015-11-26 13:42:28 · 442 阅读 · 0 评论 -
2016腾讯实习生笔试编程题:有趣的数字
小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?输入描述:输入包含多组测试数据。对于每组测试数据:N - 本组测试数据有n个数a1,a2...an - 需要计算的数据保证:1输出描述:对于每组数据,输出两个数,第一个数表示差最小的对数,第二个数表示差最大的对数。输入例子:64原创 2016-10-21 10:49:52 · 2158 阅读 · 0 评论 -
2016腾讯实习生笔试编程题:字符移位
小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。你能帮帮小Q吗? 输入描述:输入数据有多组,每组包含一个字符串s,且保证:1输出描述:对于每组数据,输出移位后的字符串。输入例子:AkleBiCeilD输出例子:kleieilABCD解题思原创 2016-10-21 10:15:53 · 370 阅读 · 0 评论 -
2016腾讯实习生笔试编程题:构造回文
给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。输入描述:输入数据有多组,每组包含一个字符串s,且保证:1输出描述:对于每组数据,输出一个整数,代表最少需要删除的字符个数。输入例子:abcdagoogle输出例子:22解题思路原创 2016-10-21 09:57:10 · 816 阅读 · 0 评论 -
2016京东算法工程师实习生笔试编程题:上台阶
有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或者二级,要走上m级,共有多少走法?注:规定从一级到一级有0种走法。给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100。为了防止溢出,请返回结果Mod 1000000007的值。测试样例:3返回:2解题思路:直接用递归的斐波那契数列的话会超时,很自然想到用DP求解。原创 2016-10-22 10:59:25 · 1190 阅读 · 1 评论 -
2016京东算法工程师实习生笔试编程题:小球的距离
小东和三个朋友一起在楼上抛小球,他们站在楼房的不同层,假设小东站的楼层距离地面N米,球从他手里自由落下,每次落地后反跳回上次下落高度的一半,并以此类推知道全部落到地面不跳,求4个小球一共经过了多少米?(数字都为整数)给定四个整数A,B,C,D,请返回所求结果。测试样例:100,90,80,70返回:1020解题思路:递归解决。代码:原创 2016-10-22 11:12:13 · 1381 阅读 · 0 评论 -
单链表翻转(递归与非递归)
递归写法:/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution{ public ListNode reverseList(ListNode head)原创 2017-02-05 22:22:47 · 490 阅读 · 0 评论