随笔分类 -  Algorithm

摘要:如何判断两个链表相交及找到第一个相交点 参考原文地址:https://www.cnblogs.com/BeyondAnyTime/archive/2012/07/06/2580026.html 1.问题分析 看看两个链表相交到底是怎么回事吧,有这样的的几个事实:(假设链表中不存在环) (1)一旦两个 阅读全文
posted @ 2018-08-05 11:53 Superpig0501 阅读(460) 评论(0) 推荐(0)
摘要:题目:请实现函数ComplexListNode* Clone(ComplexListNode* pHead),复制一个复杂链表。在复杂链表中,每个节点除了有一个m_pNext指针指向下一个节点外,还有一个m_pSibling指向链表中的任意节点或者NULL。节点的定义如下。typedef struc... 阅读全文
posted @ 2014-12-15 22:21 Superpig0501 阅读(183) 评论(0) 推荐(0)
摘要:题目1:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得他们的和正好是s。如果有多对数字的和等于s,全部输出。题目2:输入一个正数s,打印所有的和为s的连续正数序列(至少含有两个数)。例如输入15,由于1+2+3+4+5 = 4+5+6 = 7+8 = 15,所以打印三个连续序列,即1-... 阅读全文
posted @ 2014-11-04 22:32 Superpig0501 阅读(229) 评论(0) 推荐(0)
摘要:题目:一个整形数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度为O(n),空间复杂度为O(1)。思路:题目要求非常严格,O(n)的时间复杂度,O(1)的空间复杂度。难度不小。参照书上给出的思路,实现了一遍,主要也是弥补位运算方面经验的欠缺。下面是我的... 阅读全文
posted @ 2014-11-04 12:24 Superpig0501 阅读(357) 评论(0) 推荐(0)
摘要:题目:我们把只包含因子2、3和5的数称为丑数(Ugly Number)。求按从小到大的顺序的第1500个丑数。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做第一个丑数。思路:和书上描述的第二个思路一致。首先建立一个大小为N(此问题中,N为1500)的int数组,然后每次求出比当... 阅读全文
posted @ 2014-11-04 01:04 Superpig0501 阅读(608) 评论(0) 推荐(0)
摘要:《统计学习方法》笔记书籍ISBN:978-7-302-27595-4 第3章 k近邻法P37 3.1节 k近邻算法k近邻算法简单、直观:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个实例的多数属于某个类,就把该输入实例分为这个类。算法描述如下:输入:训练数据集... 阅读全文
posted @ 2014-09-20 16:27 Superpig0501 阅读(1410) 评论(0) 推荐(0)
摘要:题目:输入N个数字,找出其中最小的K个数。思路:维护一个数组KMin,长度为K,存放最小的K个数。遍历原始数组的过程中,如果KMin不满,就直接在后边插入新的数字;如果KMin满了,就要找到其中最大的数字,和当前遍历原始数组时遇到的数字进行比较,决定是否更新。由于每次都要获得KMin中最大的数字,所... 阅读全文
posted @ 2014-09-19 04:31 Superpig0501 阅读(277) 评论(0) 推荐(0)
摘要:题目:输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表,要求不能创建任何新的结点,只能调整树中结点指针的指向。只能修改节点中的指针,那么简单一点的情形,应该就是将二叉树节点中的lchild指针当做转化后双向链表中的prev指针,rchild指针当做next指针。思路类似于严蔚敏《数据结构》... 阅读全文
posted @ 2014-09-18 22:32 Superpig0501 阅读(150) 评论(0) 推荐(0)