Chinaunix首页 | 论坛 | 博客
  • 博客访问: 69785
  • 博文数量: 115
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-08 19:09
文章分类
文章存档

2015年(115)

我的朋友

发布时间:2015-08-06 16:46:14

原题目是求一个无序数组中最长的等差数列。 求随机数构成的数组中找到长度大于=3 的最长的等差数列, 输出等差数列由小到大:如果没有符合条件的就输出格式:输入[1,3,0,5,-1,6]输出[-1,1,3,5]     解法如下: 1.排序 2.设极值分别为min, max,那么公差范围为(1..max-min); 3.公差d从(1..max-min)循环,求出每次的最长的数列长度f(d) <根据已得到的数列的长度,还可以进一步减少循环次数>   所以该题目基础是求出一个有序数组中公差为d的最长等差数列。   较简单动态......【阅读全文】

阅读(1005) | 评论(0) | 转发(0)

发布时间:2015-08-06 16:46:03

1.多人排成一个队列,我们认为从低到高是正确的序列,但是总有部分人不遵守秩序。如果说,前面的人比后面的人高(两人身高一样认为是合适的), 那么我们就认为这两个人是一对“捣乱分子”,比如说,现在存在一个序列:176, 178, 180, 170, 171这些捣乱分子对为<176, 170>, <176, 171>, <178, 170>, <178, 171>, <180, 170>, <180, 171>,那么,现在给出一个整型序列,请找出这些捣乱分子对的个数(仅给出捣乱分子对的数目即可,不用具体的对)要求:输入:为一个文......【阅读全文】

阅读(137) | 评论(0) | 转发(0)

发布时间:2015-08-06 16:45:57

1.最长递增子串(codepad.org已验证) 2.最长不连续公共子串(codepad.org已验证) 3.字符串的编辑距离(codepad.org已验证) 4.上下两个等长数组,可互换同下标元素,求上下两数组和可能的最小差值(codepad.org已验证) 5.连续子数组的最大和(codepad.org已验证)   代码都为简单实现版,均为递归算法,用作练手和思路记录。   1.最长递增子串 点击(此处)折叠或打开 #define MAX 10000 #include <stdio.h> #include &l......【阅读全文】

阅读(120) | 评论(0) | 转发(0)

发布时间:2015-08-06 16:45:49

练手代码,codepad.org已验证。该算法为海量数据的求第k大的数的解法之一。建立大小为k的最小堆,每输入一个数,如果比堆顶大,那么替换堆顶元素,然后维护最小堆的特性。堆顶元素即为第k大的数。 点击(此处)折叠或打开#include <stdio.h>#include <stdlib.h>#include <assert.h>#define LEFT(a) ((a)<<1)+1#define RIGHT(a) ((a)<<1)+2#define SWAP(a,b) a^=b;b^=a;a^=b;int heapcount;int*......【阅读全文】

阅读(208) | 评论(0) | 转发(0)

发布时间:2015-08-06 16:45:45

练手代码。(codepad.org 编译通过,未运行) 判断两个单链表是否相交,如相交的话求交点。 方法: 记录两个链表的长度差。然后长的那个先出发,当剩下的长度和短的相同时,短的链表也出发。 当两个链表遍历到结点相同时,为相交结点。 若两个链表无交点,则最后结点为NULL。直接返回即可 点击(此处)折叠或打开 typedef struct tagNode{     int value;     struct tagNode* next; } Node; Node *g......【阅读全文】

阅读(183) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册