给定一个根为 root 的二叉树,每个结点的深度是它到根的最短距离。 如果一个结点在整个树的任意结点之间具有最大的深度,则该结点是最深的。 一个结点的子树是该结点加上它的所有后代的集合。 返回能满足“…
分类:算法
2018迅雷校招编程题——红黑积木
题目: 有红黑两种积木,红积木用正数A表示,黑积木用负数B表示,将积木排成一排,每7个积木代表数字之和要小于等于0,选17个积木排成一排,求17个积木最大之和 代码1: #include <iostream>…
数据结构与算法————冒泡排序
冒泡排序 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工…
并查集总结
目录 一、并查集 二、带权并查集 一、并查集 每当学习一个新算法,真的不得不感叹算法真的……博大精深!! 先分享一篇大佬的博客晚上再来补文,讲的太有意思了,一看就能明白,要是每个算法都有人这么有趣生动地给我讲就好了。 h…
【转】冒泡排序
public static void BubbleSort(int[] array) { for (int i = 1; i < array.Length; i++) { for (int j = a…
c语言实现冒泡排序
一:冒泡排序的特征 1:内部排序 2:交换数据实现 3:时间复杂度为:O(n*n) 二:冒泡排序的整体思路(按照升…
算法——LeetCode——219. 存在重复元素 II
题目概述: 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和&…
字符串的排列
题目:输入一个字符串,打印出该字符串中字符的所有的排列。例如输入字符串abc,则打印出由字符a、b、c所能排列出来的所有字符串。 &nb…
二叉树中和为某一值的路径
题目:输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。  …
MD5算法实现
// 直接贴代码了,具体原理有很多地方都有描述,这里给出实现方便对比自己的算法到底什么地方错,算法是绝对没有问题的,计算大型文件MD5的效率还可以优化的。 struct IIStream { &nbs…
归并排序(MergeSort)
算法思路: public class MergeSort { public static void main(String[] args) { int[] arr = new int[] {2, 4, 5, 8, 1, …
[LeetCode] Restore IP Addresses 复原IP地址
Given a string containing only digits, restore it by returning all possible valid IP address combinations. For…