题目大意:给你一个图,图中任意两点之间要么有正向边,要么有反向边。
判断是否含有a->b->c->a的三角形环。
思路:其实只要有环,就能构成三角形环。因为任意两点之间要么有正向边,
要么有反向边。如果现在有一个四元素环 a->b->c->d->a,若a不指向c,则
c必定指向a,所以必定存在三角形环。直接拓扑排序,如果不能排序,则有
三角环,输出“Yes”,能拓扑排序,则不含有三角环,输出"No"。...
分类:
编程语言 时间:
2014-12-23 00:21:27
阅读次数:
232
题目大意:给你一个有向图,判断是否有环。
思路:构建拓扑排序,如果排序失败,说明该有向图存在有向环。
另一种思路,用链式前向星存储图,在数据输入的同时统计每个点的入度,
并存入indegree数组,每删除一个点,就遍历以这个点为起点的边,将边
对应的入度减1即可选择并删除下一点。用队列来存储已发现的入度为0的
点,更新入度的同时更新这个队列。如果最终得到队列中的元素个数小于
总的元素个数,说明排序失败,存在环。...
分类:
编程语言 时间:
2014-12-19 22:06:40
阅读次数:
264
一、原题
Linked List Cycle
Given a linked list, determine if it has a cycle in it.
Follow up:
Can you solve it without using extra space?
二、分析
选用两个指针扫描链表,一个速度快,一个速度慢,若两个指针相遇,说明有环。
三、...
分类:
其他好文 时间:
2014-12-18 20:44:05
阅读次数:
157
Linux和Windows下查看环境变量方法
一、查看所有环境变量的名称和值:
Linux下:export
Windows下:set
二、根据名称查该环境变量的值:
Linux下:echo $环境变量名...
最近在写一个网站,昨天刚写完,由于要和朋友一起测试,但是他电脑上没有环境,所以希望我在自己电脑上部署一下,让他直接通过浏览器来访问来测试,所以从昨晚到今天上午,通过各种搜索,终于搞定了。 先介绍一下我用的环境,网站的编写使用ASP.NET MVC4.0 平台版本.NET Framework 4.0 ...
分类:
Web程序 时间:
2014-12-17 14:31:35
阅读次数:
256
1、链表定义
typedef struct ListElement_t_ {
void *data;
struct ListElement_t_ *next;
} ListElement_t;
typedef struct List_t_{
int size;
int capacity;
ListElement_t *head;
ListE...
分类:
其他好文 时间:
2014-12-13 23:25:33
阅读次数:
398
给定一个链表,如果有环,返回环的起点,如果没环,则返回空指针。法一:unordered_set存做过的节点,一旦出现重复,那么它就是起点了。O(n)空间/** * Definition for singly-linked list. * struct ListNode { * int val...
分类:
其他好文 时间:
2014-12-13 16:27:02
阅读次数:
222
判断链表中有没有环。一个指针跑一次,一个指针跑两次,相遇就是有环/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x...
分类:
其他好文 时间:
2014-12-12 22:11:59
阅读次数:
162
首先,判断一个链表是否有环?对于这个问题:可以用两个指针,刚开始都指向头节点,然后一个指针每次向后移一步,另一个指针每次向后移两步,如果最后移两步的指针为空时,说明无环,如果最后两个指针相等,说明有环。如果把第一指针看成静止,则相当于第二个每次走一步,所以在那个环上时,是一定能相遇的。如何找到这个链...
分类:
其他好文 时间:
2014-12-12 11:26:48
阅读次数:
125
http://www.lydsy.com/JudgeOnline/problem.php?id=3669首先看到题目应该可以得到我们要最小化min{ max{a(u, v)} + max{b(u, v)} }两个变量不好做。。。那么我们约束一个a即按a从小到大排序,依次加边。发现当有环出现时,去掉的...
分类:
其他好文 时间:
2014-12-08 00:39:24
阅读次数:
286