- 博客(14)
- 资源 (45)
- 收藏
- 关注
原创 第一个只出现一次的字符
题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).思路一要找到第一个只出现一次的字符,那么可以一次统计字符串的每个字符出现的次数,也就是依次和后面的字符进行比较,如果只出现一次那么就输出这个字符,对于一个有n个字符的字符串,那么就可能会比较n*n次,时间复杂度为o(n^2)...
2019-03-21 11:15:13 85
原创 二叉树的直径
题目Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a binary tree is the length of the longest path between any two nodes in a tree. This path may or ma...
2019-03-13 10:11:41 328
原创 二叉树的深度
题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。简洁代码/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) {...
2019-03-13 10:11:20 75
原创 丑数
题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。思路一依次判断每个数是不是丑数,直到判断到第N个丑数为止,时间复杂度过大,不推荐 public boolean isUglyNumber(int number){ while (...
2019-03-09 22:25:58 195
原创 把数组排成最小的数
题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路一要输出数组的最小排列,那么可以将该数组能够组成的所有排列都列举出来,然后依次比较找出最小排列值;但是n个元素就有n!个全排列数,并且还需要找最小值,这个时间复杂度明显很大。思路二该思路不用去找该数组可...
2019-03-08 22:02:24 90
原创 整数中1出现的次数
题目描述求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。思路一依次统计1-n每个数中1的个数,然后依次累加得到最后1出现的总次数 ...
2019-03-07 22:56:54 98
原创 连续子数组的最大和
题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列...
2019-03-06 22:35:48 145
原创 快速排序
文章目录快速排序的具体过程代码演示分治排序的具体过程简洁代码参考博客快速排序的具体过程代码演示分治排序的具体过程import java.util.Arrays;public class QuickSort { public static void sort(int a[], int left, int right) { System.out.println(Ar...
2019-03-05 17:14:57 106
原创 OpenCV视频操作
读取视频//---------------------------------【头文件、命名空间包含部分】----------------------------// 描述:包含程序所使用的头文件和命名空间//------------------------------------------------------------------------------------------...
2019-03-05 17:12:03 235
原创 penCV入门
第一个程序图像显示#include <opencv2/opencv.hpp> //头文件using namespace cv; //包含cv命名空间int main(){ // 【1】读入一张图片 Mat img = imread("1.jpg"); // 【2】在窗口中显示载入的图片 imshow("【载入的图片】", img); // 【3】等待6000 ms后...
2019-03-05 17:11:47 283
原创 最小的K个数
文章目录题目描述思路一总结基于堆的实现题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。思路一最容易想到的思路就是将输入的n个整数进行从小到大的排序,然后选出前K个数就是最小的K个数,这里选用的是最简单的冒泡排序的算法时间复杂度:o(n^2)import java.util.ArrayList;publi...
2019-03-05 17:10:45 71
原创 堆排序
文章目录什么是堆堆的性质堆节点的访问最大堆和最小堆的应用堆排序的概念堆排序的原理堆排序的特点维护堆的性质MAX-HEAPIFY(A,i)建堆BUIL-MAX-HEAP(A)堆排序算法堆排序算法的实现优先队列什么是堆堆(heap)是计算机科学中的一种特别的树状数据结构。若是满足以下特性,即可称为堆:“给定堆中任意节点 P 和 C,若 P 是 C 的母节点,那么 P 的值会小于等于(或大于等于) ...
2019-03-05 17:10:12 214
原创 简单选择排序
文章目录简单选择排序的工作原理时间复杂度分析案例分析代码实现简单选择排序的工作原理选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的...
2019-03-05 17:09:49 37037 4
原创 二叉树
文章目录满二叉树定义性质完全二叉树定义性质满二叉树定义除最后一层无任何子节点外,每一层上的所有结点都有两个子结点二叉树。国内教程定义:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是**(2^k) -1** ,则它就是满二叉树。从图形形态上看,满二叉树外观上是一个三角形。从数学上看,满二叉树的各个层的结点数形成一...
2019-03-05 17:09:11 1446
加密解密 数组排序
2017-07-10
javascript循环
2017-07-10
数据算法 Hadoop Spark大数据处理技巧
2018-01-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人