二叉树的层次遍历 要实现二叉树的层次遍历,需要借助队列实现,这种方法也称为宽度优先遍历(Breadth-First Search, BFS)。 主要思想是,借助队列,先将根结点入队,开启循环,队列为空的时候循环结束,每一…
分类:算法
Longest Palindromic Substring
题目梗概: 找出指定字符串中最长的回文子串。 解题思路: 最简单的方法应该是找出指定字符串的所有子串,从最长的子串开始判断是否是回文字符串,是则直接返回该子串,不是则继续对…
把数组排成最小的数
题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 解题思路 先将数组转换成字符串数…
例题11-6 这不是bug,而是特性(It's not a Bug, it's a Feature!, UVa 658)(隐式图+最短路+位运算)
题目https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=8&page=show_probl…
利用自然分组的合并排序(C语言)
合并排序算法是用分治策略实现对n个元素进行排序的算法。其基本思想是:将待排元素分成大小大致相同的两个子集合, 分别对这两个子集合进行排序,最终…
1024 科学计数法 (20 分) 完全解析(C++详细思路)
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分…
杭电hduoj 2504 又见GCD
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2504 算法特工队QQ羣:979618872 (伸手党绕边,欢迎有良好基础的人加入) // // Created by Le…
计蒜客 T1560 二分查找(一)
题目链接:https://nanti.jisuanke.com/t/T1560 算法特工队QQ羣:979618872 (伸手党绕边,欢迎有良好基础的人加入) // // Created by Leo Lee on 201…
Leetcode PHP题解--D19 867. Transpose Matrix
867. Transpose Matrix 题目链接 867. Transpose Matrix 题目分析 这个题目比较简单,就是矩阵转置。 就是把第0行变成第0列,第1行变成第1列。 思路 用array_column方…
算法Day04 快速排序优化之随机双向快排
昨天学习了快速排序,回顾一下,快速排序的做法就是一次排序将一个数放到正确的位置上,并返回当前位置的索引,然后避开此位置,对其他位置进行重复的排序,有点像前边学到的归并排序,不知道大家有没有印象。 归并排序和快速排序的思想…
算法:部分字符串按顺序换位
京东达达遇到的一个面试算法题: 设计一个算法: 方法有两个参数,第一个是一个字符串,另一个是一个整数n,整数代表讲字符串前n位换到字符串的末尾,eg :输入:“abcdefg”,3 输出: “defgabc”; 使用O(…
二叉树遍历的迭代版算法
文章目录 迭代版先序遍历1(尾递归) 迭代版先序遍历2 迭代版中序遍历1(引入辅助栈) 迭代版中序遍历2(无需辅助栈) 迭代版后序遍历 二叉树遍历用递归实现是很简单的,虽然递归效率在O(N)看似很好了,但递归的函数调用开…