算法与数据结构
文章平均质量分 75
我不修电脑
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
(算法入门)栈和队列-停车场管理系统
一、实验目的通过停车场管理的程序设计,帮助学生熟练掌握栈和队列的基本操作及用栈与队列解决具体问题的基本方法。二、实验内容设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端);若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排原创 2014-11-07 23:13:22 · 11741 阅读 · 1 评论 -
629. K Inverse Pairs Array 自制答案
QuestionGiven two integers n and k, find how many different arrays consist of numbers from 1 to n such that there are exactly k inverse pairs.We define an inverse pair as following: For ith原创 2017-06-28 23:00:19 · 756 阅读 · 0 评论 -
Leetcode 476. Number Complement 自制答案
Given a positive integer, output its complement number. The complement strategy is to flip the bits of its binary representation.Note:The given integer is guaranteed to fit within the range原创 2017-04-25 16:37:59 · 488 阅读 · 0 评论 -
Leetcode 477. Total Hamming Distance 自制答案
The Hamming distance between two integers is the number of positions at which the corresponding bits are different.Now your job is to find the total Hamming distance between all pairs of the giv原创 2017-04-21 20:08:23 · 355 阅读 · 0 评论 -
Leetcode 461 Hamming Distance 自制答案
The Hamming distance between two integers is the number of positions at which the corresponding bits are different.Given two integers x and y, calculate the Hamming distance.Note:0 ≤ x,原创 2017-04-21 19:34:15 · 563 阅读 · 0 评论 -
<剑指offer>复杂链表的复制
题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)1.最开始的时候,一下子就想到了递归,跑了一下通过了。public class Solution { public RandomLis原创 2016-12-31 11:23:56 · 372 阅读 · 0 评论 -
关于KMP算法中前缀函数(next函数)的一点个人理解
最近再刷笔试题的时候,发现了几道题需要求取字符串的next数组。关于这部分知识,之前是有学过,代码也是比较简洁的,如下: public static int[] getNext(String ps) { char[] p = ps.toCharArray(); int[] next = new int[p.length]; next[0] = -1; int j =原创 2016-12-17 23:56:06 · 3635 阅读 · 0 评论 -
斐波那契数列之矩形覆盖问题
题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?解答:愁死我了,上来就把题目看错了,以为是覆盖一个面积为2n的大矩形,后来才发现是长n宽2的矩形。这道题应用归纳法可以得出是一个典型的斐波那契数列。当i=1的时候,显然只有一种摆法。当i=2的时候,可以有原创 2016-12-22 19:33:45 · 1688 阅读 · 1 评论 -
旋转数组的最小数字
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。在这道题目中旋转数组将原数组分成了两个非递减排序的部分,而它的最小值就是右边数组的边界值原创 2016-12-21 12:34:56 · 440 阅读 · 0 评论 -
快速排序和堆排序的使用场景比较
快速排序 是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο (n log n)次比较。在最坏状况下则需要 Ο (n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 Ο (n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序在平均情况下是的排序算法中时间常数最小的,但是最坏情况下会退化到O(n^转载 2016-12-16 15:35:03 · 10980 阅读 · 4 评论 -
(算法入门)基本图论-广度优先搜索之JAVA实现
广度优先算法是最简单的图搜索算法之一,也是许多重要的图算法的原形,从PRIM到Dijkstra都使用了类似于广度优先算法的思想。其思想如下:已知图G=(V,E)和一个源顶点s,广度优先搜索以一种系统的方式探寻G的边,从而“发现”S所能到达的所有顶点,并计算s到所有这些顶点的距离(最少边数),该算法同时能生成一棵根为S且包括所有可达顶点的宽度优先树。对从S可达的任意顶点V,宽度优先树中从S到原创 2015-07-18 15:34:37 · 1539 阅读 · 1 评论 -
(算法入门)基本图论-深度优先搜索之JAVA实现
DFS与BFS较为简单,是图论的基础。在以后的实验中,不管是动态规划、贪心算法、回溯法都会以DFS或BFS为基础,应当是我们每个人都要掌握的。在这里分享一个关于DFS的JAVA实现算法。深度优先搜索的算法描述如下:从图中某顶点v出发:(1)访问顶点v;(2)依次从v的未被访问的邻接点出发,对图进行深度优先遍历;直至图中和v有路径相通的顶点都被访问;(3)若此时图原创 2015-07-18 14:09:14 · 2711 阅读 · 0 评论 -
普林斯顿算法课第五周作业
Programming Assignment 5: Kd-TreesWrite a data type to represent a set of points in the unit square (all points have x- and y-coordinates between 0 and 1) using a 2d-tree to support efficient ra原创 2014-10-19 11:15:53 · 3205 阅读 · 2 评论 -
普林斯顿算法课第四周作业
8 Puzzle作业地址:http://coursera.cs.princeton.edu/algs4/assignments/8puzzle.html----------------------------------------------------------------------------------------------------------第四周作业 8原创 2015-02-16 10:14:38 · 2875 阅读 · 0 评论 -
普林斯顿算法课第三周作业
第三周作业模式识别Programming Assignment 3: Pattern Recognition题目地址:http://coursera.cs.princeton.edu/algs4/assignments/collinear.html------------------------------------------这一周的问题是在一个给出N个随即点的平面原创 2015-02-10 13:41:21 · 3710 阅读 · 2 评论 -
普林斯顿算法课第二周作业
Programming Assignment 2: Randomized Queues and Deques题目地址:http://coursera.cs.princeton.edu/algs4/assignments/queues.html-------------------------------------------------------------------------原创 2015-02-03 13:17:51 · 3130 阅读 · 2 评论 -
普林斯顿算法课第一周作业
Programming Assignment 1: Percolation作业网址如下:http://coursera.cs.princeton.edu/algs4/assignments/percolation.html正文--------------------------------------------------------------第一章的作业需要制原创 2015-01-27 13:49:13 · 7945 阅读 · 0 评论 -
Leetcode 48. Rotate Image 自制答案
DescriptionYou are given an n x n 2D matrix representing an image.Rotate the image by 90 degrees (clockwise).Follow up: Could you do this in-place?第一版答案 递归最简单的想法,就是由外到内一层一层的旋转矩阵中的每个元素。1 2 3 4原创 2017-08-02 15:00:08 · 410 阅读 · 0 评论
分享