
算法
珞喻小森林
华中科技大学人工智能与自动化学院 图像所
展开
-
【编程题】输出全排列,按照字典序输出下一个排列
一:按字典序输出下一个排列31. 下一个排列难度中等622https://leetcode-cn.com/problems/next-permutation/实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,原创 2020-08-23 16:24:24 · 1956 阅读 · 0 评论 -
图-邻接矩阵(二维数组)存储结构下的 深度优先遍历与广度优先遍历,求树的两个节点的最近公共祖先(LCA)
/*题目描述有下面一个图图的各个顶点之间只有唯一的道路相连,而且任顶点都是可以互达的,解答要求时间限制:1000ms, 内存限制:64MB输入每个样例输入:第一行两个正整数N,Q,图有N个顶点,有Q个询问。其中1 <= N,Q <= 100第二行到第N行,每行三个整数u,v,z,表示顶点u到顶点v的距离为z,表示顶点u与顶点v相连,边的权值为z。其中 1 &l...原创 2020-04-28 18:43:58 · 1696 阅读 · 0 评论 -
【算法】有序数组 二分查找,有序数组循环移动后的 二分查找
0.有序数组的二分查找/* 在升序数组arr[]中查找key,如果key存在,则返回其在数组中的位置index,否则返回 -1。*/int BinarySearch(int arr[],int arr_size, int key){ if (arr == NULL) { return -1; } int low = 0; int high = arr_size - ...原创 2020-03-18 11:13:03 · 776 阅读 · 0 评论