标签:算法
题目描述(题目来源) 小葱去里约看奥运会,早上从酒店出来后决定坐公交车吗,但是没有直达的路线,只能通过多次换乘公交来达到目的地,现在希望你可以编写一个程序帮助小葱算数到达目的地所需的最少时间。 输入描述 第一行的第一个数字表示终点,起点用数字0表示,第二个数字N表示可选的巴士路线(1≤N≤100).
弗洛伊德算法(Floyed-Warshall) 适用范围及时间复杂度 该算法的时间复杂度为O(N^3),适用于出现负边权的情况。 可以求取最短路径或判断路径是否连通。可用于求最小环,比较两点之间的大小。 (什么??你不知道什么是负边权??戳->http:
这是悦乐书的第258次更新,第271篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第125题(顺位题号是551)。您将获得一个表示学生出勤记录的字符串。 该记录仅包含以下三个字符: 'A':缺席。 'L':迟到。 'P':在场。 如果学生的出勤记录不超过一个“A”(缺席
Fire Game   Fat brother and Maze are playing a kind of special (hentai) game on an N*M board (N rows, M columns). At the beginning, each grid of this
目录 说明 代码实现 代码解说 说明 直接通过输入一个数组,或一个元组,计算出平均数 代码实现 #-*-coding:utf-8-*- '''通过输入可变参数,计算出平均数 使用sum函数,计算数组或元组的和,
什么是堆 堆是一棵完全二叉树,可以用数组来存储。比如一个数组[3, 8, 15, 31, 24],具体为一个堆,它的逻辑结构如下所示:(图来自https://www.cnblogs.com/jingmoxukong/p/4303826.html#堆的概念,侵删) 最大堆和最小堆 最大堆:根结点的值
二叉树的镜像 一、问题描述 操作给定的二叉树,将其变换为源二叉树的镜像。 二、算法思路 这道题可以用递归的思想,将问题分解成同质的子问题,可以看到,根节点的子树需要先完成镜像翻转,然后再将根节点的两个孩子进行调换。 判断根节点是否是空,如果根节点为空,那么它也就没有孩子了,没有孩子就不必进行镜像翻转
基本内容: 这几天学习了一下动态规划,特此整理。 在一道题中反复使用或者反复计算,将重复的内容存到一个集合里面,计算后面的时候直接从集合里面取值,可以大幅优化时间和空间。 核心:记住求过的解来节省时间。   例: 计算:1+1+1+1+1&
小希的迷宫 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了房间A和B,那么既可以通过它从房间A走到房间B,也可以通过它从房间B走到房间A
这是悦乐书的第259次更新,第272篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第126题(顺位题号是557)。给定一个字符串,您需要反转句子中每个单词中的字符顺序,同时仍保留空格和初始单词顺序。例如: 输入:“Let's take LeetCode contest”
线性筛 最初,线性筛只是用来筛质数罢了。。。 void sieve(int n) { static int v[N], p[N], pr; // v[i] 表示 i 的最小质因子 // p[N] 和 pr 用来存质数表 for (int i = 2; i <= n; ++i)
题目描述 设计一个找到数据流中第K大元素的类(class)。注意是排序后的第K大元素,不是第K个不同的元素。 你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器,它包含数据流中的初始元素。每次调用 KthLargest.add,返回当前数据流中第K大的元素。 示例
输入:n个数的数<a1,a2,a3,a4> 输出:输人序列的一个排列(a1,a2,…,an),满足a1’≤a2’≤…≤an’ 书中用了一个很好的例子来描述插入算法的原理,像许多人排序自己手中的扑克牌。 排序一手扑克牌,开始时,我们的左手为空并且桌子上的牌面向
  最近在自学python,于是想从数据结构入手。无聊用python写了递归的快速排序。果然不是很熟练,写了很久才没报错,当是复习快排了,hh..   代码如下 1 import random 2 3 def aswap(lis,a,b):
接着第三课的内容和讲了第四课的部分内容   1、介绍二叉搜索树 在二叉树上,何为一个节点的后继节点? 何为搜索二叉树? 如何实现搜索二叉树的查找?插入?删除?   二叉树的概念上衍生出的。 任何一个节点,左比他小,右比他
常用排序算法原理简介及C实现 排序可能是接触最早而又直到现在仍然感觉魅力无穷的算法了,总结了一下十几种排序算法(都以升序为例)。参考了很多大大写的文章,大都是百度算法搜索出来的,感谢@百度 目录 冒泡排序 选择排序 插入排序 希尔排序 快速排序 归并排序 地精排序 鸡尾酒排序 奇偶排序 堆排序 梳排
这是悦乐书的第260次更新,第273篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第127题(顺位题号是558)。四叉树是树数据,其中每个内部节点恰好有四个子节点:topLeft,topRight,bottomLeft和bottomRight。四叉树通常用于通过递归地将
概述 原本想把自己AES加密算法的整个实现过程给详细复述下来,分享给想学习的同学,也方便自己复习,但后来发现该工作量太大,加上作业太多没有过多的时间去写。所以就想把自己在学习的过程中多遇到的好的文章进行汇总,避免重复性的工作,因为我感觉有的文章的介绍和配图写的非常好,再次重复也没有意义。本