回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。 输入格式 输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩…
标签:算法
最小生成树(prim)算法
算法描述: 1:输入:一个加权连通图,其中顶点集合为V,边集合为E; 2:初始化:Vnew = {x},其中x为集合V中的任一节点(起始点),E…
用Java实现斐波那契数列的非递归形式
第一种方法:赋值 public class FactorialA { public static int factorial(int n){ int f0=1; int f1=1; int i=2; int fn=0; …
POJ 2774——Long Long Message(二分+hash)
题意: 给出两个最长长为1e5的字符串,求他们的最长公共子串长度。 思路: 分别将两个字符串预处理出hash值,二分【1-min(lens,lent)】的长度,check函数中每次将长度为mid的hash值记…
斐波那契数列 求解
问题起源 兔子生长的数目问题: 第一个月初有一对刚诞生的兔子 第二个月之后(第三个月初)它们可以生育 每月每对可生育的兔子会诞生下一对新兔子 兔子永不死去 如果笔算, 前几项可以很快得出: n n n 0 1 2 3 4…
leetcode 4的幂
原题链接; https://leetcode-cn.com/problems/power-of-four/ 题目描述: 给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。 题意很明确, 就…
排序算法(七)——归并排序
排序算法(六)——归并排序
二叉树搜索算法集合
该篇总结关于二叉树前序遍历,中序遍历,后序遍历的各种实用算法(包括递归和遍历)。 先序遍历 先序遍历又称前序遍历,先序遍历(DLR),是二叉树遍历的一种,也叫做前序周游,可记做根左右。先序遍历首先访问根结点然后遍历左子树…
[PAT]1030 完美数列
[PAT]1030 完美数列 题目链接: 1030 完美数列 解题思路: 本题有一点dp的思想,首先对输入数据从小到大排序,本来想套三层循环,最外面一层枚举最大完美数列长度,然后里面两层分别是完美数列的开头元素和结尾元素…
算法(7)Reverse Integer
Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Example 2: Inpu…
算法学习笔记(持续更新中...)
第一章 二分查找 二分查找是一种算法, 其输入是一个有序的元素列表. 如果要查找的元素包含在列表中, 二分查找返回其位置: 否则返回 NULL 一般而言, 对于包含N个元素的列表, 用二分查找最多需要log2^N步, 而…
leetcode148归并排序 (递归与非递归c++实现)
归并排序: 是一种非线性时间比较类排序,采用分治的策略,通过比较来决定元素间的相对次序.时间复杂度不受数据本身影响.时间复杂度为O(nlogn),空间复杂度为O(n). 算法描述: 1.把长度为n的输入序列分成两个长度为…