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

2015年(115)

我的朋友

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

给定三个字符串A,B,C;判断C能否由AB中的字符组成,同时这个组合后的字符顺序必须是A,B中原来的顺序,不能逆序;例如:A:mnl,B:xyz;如果C为mnxylz,就符合题意;如果C为mxnzly,就不符合题意,原因是z与y顺序不是B中顺序。
 
Reference:
http://poj.org/problem?id=2192
 
http://www.ahathinking.com/archives/173.html
此文中提供了该题目的非递归解法。
这里提供一个简明的递归代码。
codepad.org已验证。



点击(此处)折叠或打开
......【阅读全文】

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

发布时间:2015-08-06 16:43:02

给定一系列x轴的点坐标,例如 1,3,7,8,9,11这些坐标升序放在数组中,现在给一根绳子,长度为4,问绳子最多能覆盖的点数有多少,例如绳子放前面只能覆盖两个点,1,3,如果放后面能覆盖4个点   简单DP.其实也不是十分简单。还得想会儿。设绳长为line, 若包含下标为i的点,往前扩展,最远的可覆盖的点的下标为f(i) 那么, 每次i后移一位, 若 input[i+1] - input[i] <= line      f(i+1) = f(i) 否则    &......【阅读全文】

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

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

网上收集的几道电面题。 除了第一题,都是牵涉基本功,第一题也可以认为是算法基本功,不算很难。要点是细节。代码要写强壮。 1.平面上的很多点,要你找出一条直线,使最多的点在同一条直线上 回溯+hashhttp://stackoverflow.com/questions/4179581/what-is-the-most-efficient-algorithm-to-find-a-straight-line-that-goes-through-m 2.整形数组 {1,1,2,3,3,5} ,去掉重复数结果是{1,2,3,5}并返回个数4。 点击(此处)折叠或打开 #inc......【阅读全文】

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

发布时间:2015-08-06 16:42:50

一个单链表无序数组,要求O(1)空间复杂度 O(nlogn)时间复杂度排序。 明显快排,但链表没写过,练手。 代码已验证,可运行,主体没有问题 ,但细节有一个小问题。手工开辟了个空的头结点,实际没有删除。这点需要改进。   点击(此处)折叠或打开 #include <stdio.h> #include <stdlib.h> typedef struct tagNode{     int value;     struct tagNode* ne......【阅读全文】

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

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

Trie树基本实现代码。 练习使用。codepad.org已验证。 点击(此处)折叠或打开 #include <stdio.h> #include <stdlib.h> #include <memory.h> #define CSIZE 256 typedef struct _Node{     char value;     struct _Node *children[CSIZE]; }Node; Node *create......【阅读全文】

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

登录 注册