自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

NoBug Area

0 error, 0 warning, 0 bug .

  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 如何验证自己代码的正确性?

很多时候,我们写的代码虽然能够通过我们自己手动输入的样例,但是这段代码的正确性还是有待考究的。比如,当你在一些Online Judge的网站上敲题时,可能写的解决办法能够完美解决样例给出的输入,并给出正确输出,但是提交之后还是会wa。有时候可能是因为没有考虑边界问题,有时候可能是贪心算法有问题。这时候就应该模拟一下大数据量的输入来验证一下自己代码的正确性。思路如下:(拿简单的冒泡排序为例)文章目...

2019-01-05 21:24:22 4889 1

原创 二叉树的Morris遍历

二叉树的Morris遍历之前总结过二叉树的经典遍历算法,包括递归和常规非递归算法,其时间复杂度和空间复杂度均为O(n)。Morris算法巧妙地利用了二叉树的线索化思路,把叶节点的空指针利用起来,将二叉树的遍历算法的空间复杂度降低为O(1),时间复杂度仍然为O(n)。主要思路:找到每个节点的左子树的最右节点,让它指向本节点。在遍历之后恢复节点的空指针。文章目录二叉树的Morris遍历前序遍历中...

2019-03-13 11:08:55 336

原创 最大值减去最小值小于等于num的子数组数量

最大值减去最小值小于等于num的子数组数量给定数组 arr 和整数 num,共返回有多少个子数组满足如下情况:max(arr[i…j]) - min(arr[i…j]) <= nummax(arr[i…j])表示子数组 arr[i…j]中的最大值,min(arr[i…j])表示子数组 arr[i…j]中的最 小值。如果数组长度为 N,请实现时间复杂度为 O(N)的解法。这道题类似于...

2019-02-01 13:59:52 302

原创 求最大子矩阵的大小

求最大子矩阵的大小给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。示例:输入:[[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,“1”,“1”],[“1”,“0”,“0”,“1”,“0”]]输出: 6思路1.以矩阵的每一行做分割,统计以当前行作为底的情况下,每个列位置往...

2019-02-01 12:56:24 714

原创 构造数组的MaxTree

构造数组的MaxTree给定一个数组,数组的MaxTree定义如下:1.数组必须没有重复元素2.MaxTree是一个二叉树,数组的每一个值对应一个二叉树节点3.MaxTree及其子树,值最大的节点都是数的根节点文章目录构造数组的MaxTree思路代码思路经过分析可以得到两个原则:1.每个节点的父节点是它左边第一个比它大的数和它右边第一个比它大的数中,较小的那个2.如果一个数左右两...

2019-02-01 11:33:26 323

原创 【LeetCode】239滑动窗口最大值

滑动窗口最大值给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口 k 内的数字。滑动窗口每次只向右移动一位。返回滑动窗口最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释:滑动窗口的位置 最大值[1 3 -1]...

2019-01-31 23:37:36 225

原创 汉诺塔问题(递归与非递归)

汉诺塔问题文章目录汉诺塔问题基本介绍递归方法非递归方法基本介绍汉诺塔是由三根杆子A,B,C组成的。A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆:每次只能移动一个圆盘;大盘不能叠在小盘上面。提示:可将圆盘临时置于B杆,也可将从A杆移出的圆盘重新移回A杆,但都必须尊循上述两条规则。问:如何移?最少要移动多少次?在这里把规则加强一下,A和C之间...

2019-01-31 22:26:01 596

原创 用一个栈实现另一个栈的排序

用一个栈实现另一个栈的排序如果给出一个栈,要求仅使用另一个栈来实现这个栈的从顶到底从大到小的排序。文章目录用一个栈实现另一个栈的排序原思路简化版本测试函数原思路原思路如下:构造另一个栈help,将原本栈中的元素依次弹出,如果所弹出的元素小于等于help的栈顶元素或者help栈为空,则直接入栈,如果大于help的栈顶元素则将help栈中的元素依次弹出到原栈中,直至help栈顶元素大于等于所弹...

2019-01-31 15:13:03 276

原创 如何使用递归函数逆序一个栈

如何使用递归函数逆序一个栈文章目录如何使用递归函数逆序一个栈递归函数1递归函数2测试函数递归函数1首先,我们需要设计一个能够将栈中的栈底元素返回并移除的递归函数,使用这个函数我们就可以获取到栈底元素并且其他栈中的顺序不变。代码如下: public static int getAndRemoveLastElement(Stack<Integer> stack) { int r...

2019-01-31 14:19:13 296 3

原创 正方形矩阵的旋转原理以及代码

正方形矩阵的旋转原理以及代码正方形矩阵的旋转的思路就是从最外层开始一层一层各个元素转换到转换后应该有的位置,直至打印结束。这里以顺时针九十度的矩阵旋转为例的话,首先是四个顶点之间的旋转,可以找出其中的坐标规律,其他的点也遵守这个规律,再一层一层将每个点旋转到相应位置即可。下面直接贴出代码。才疏学浅,若有错误欢迎大家多多指出,一定虚心接受。package Main;/** * @auth...

2019-01-27 18:46:44 1354

原创 矩阵打印之转圈打印、之字形打印

矩阵打印之转圈打印、之字形打印矩阵打印也是经常会使用到的要求掌握的算法,在此介绍一下转圈打印和之字形打印的方法。因为并不复杂直接看代码就可以看懂,也写了注释,所以直接贴上代码。才疏学浅,若有错误欢迎大家多多指出,一定虚心接受。文章目录矩阵打印之转圈打印、之字形打印转圈打印之字形打印转圈打印package Main;/** * @author Leslie * */public ...

2019-01-27 17:55:55 199

原创 前缀树的介绍与源码

前缀树的介绍与源码前缀数是经常用到的一种数据结构。主要思路是用边来记录数据,用点来记录有多少字符串经过某条边以及把某条边作为结尾。主要用于查找一个结构中有多少以某个字符开头的结果,或者某一个字符出现了几次。下面直接上代码。package Main;/** * @author Leslie * */public class Main { public static class...

2019-01-26 23:27:50 359

原创 如何用栈实现队列功能以及如何用队列实现栈功能

如何用栈实现队列功能以及如何用队列实现栈功能首先,我们要明确什么是栈和队列。栈是一种特殊的线性表,仅能在线性表的一端操作,栈顶允许操作,栈底不允许操作。栈的特性:后进先出。队列是一种先进先出的线性表。它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。文章目录如何用栈实现队列功能以及如何用队列实现栈功能栈实...

2019-01-26 11:38:24 2170

原创 Linux和Unix操作系统概述

Unix 操作系统是一个多用户和多任务操作系统。Windows:用户友好;Unix:程序员友好Unix的设计理念• 在Unix系统中的所有东西都是文件,其中也包括硬件。• 所有的操作系统配置数据都存储在正文文件中。• 每个操作系统命令或者应用程序都很小,而且只完成单一的功能。• 避免使用俘获用户的接口。• 可以将多个程序串接在一起完成复杂的任务。(也就是可以将一个应用程序的输出作为另...

2019-01-15 19:45:47 328

原创 Mac电脑如何播放swf格式文件?

Mac电脑播放swf格式的几种方法第一种简单的方法是打开浏览器,直接把文件拖动到IP栏就可以播放;第二种稍微复杂一些,先创建一个文本文档,把下面的代码粘贴进去,其中****是文件名,然后保存成html文件,保证这个html和所要播放的文件在一个文件夹里,再用浏览器打开html文件,亲测有效;<html><body><embed src="****.swf" ...

2019-01-15 07:53:09 9680

原创 Mac电脑怎么查找应用程序的默认下载文件?

将光标位于桌面,然后cmd+shift+g,然后将==~/Library/Containers/com.tencent./Data/Library/Application Support/==粘贴到输入框里。

2019-01-14 09:26:14 1483

原创 并查集的Java实现(使用HashMap)

浅析并查集的使用(Java实现)文章目录浅析并查集的使用(Java实现)并查集的定义:并查集的功能:并查集的Java实现:并查集的定义:并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题近几年来反复出现在信息学的国际国内赛题中,其特点是看似并不复杂,但数据量...

2019-01-07 09:37:19 1239 7

原创 (全)二叉树的遍历方法总结(最简单好记的非递归,常规非递归,递归共10种)

10种二叉树的遍历方法今天敲了一下数据结构课上学的二叉树的遍历方法,又在网上看了一些大牛们写的好方法,在这里做一个小小的总结。才疏学浅,若有错误欢迎大家多多指出,一定虚心接受。文章目录10种二叉树的遍历方法一、递归遍历1.先序遍历2.中序遍历3.后序遍历二、统一简单好记的非递归遍历1.先序遍历2.中序遍历3.后序遍历三、常规的非递归遍历1.先序遍历2.中序遍历3.后序遍历(双栈实现)4.后序遍...

2019-01-06 11:13:28 438 1

原创 (全)数据结构各种排序的总结(Java实现)

数据结构各种排序的总结(Java实现)今天整理了一下数据结构课上所学的各种排序,先写一下今天刚敲完的代码(都只写了升序),还剩下基数排序和桶排序明天更。文章目录数据结构各种排序的总结(Java实现)1.冒泡排序及其优化2.插入排序1.冒泡排序及其优化思想:冒泡排序是将数组中相邻的两个元素不断比较,第一个比第二个大就交换,因此会将较大的数一直换到最后,然后再缩小比较范围,直至为1排序完成。优...

2019-01-04 14:11:27 714

大连理工大学离散数学习题答案

大连理工大学离散数学习题1. (1)不是命题;(2)不是命题;(3)不是命题;(4)是命题;(5)是命题; 2. (1)并非大连的每条街都临海;(2)2不是一个偶数或者8不是一个奇数;(3)2不是偶数并且-3不是负数; 3. (1) 逆命题:如果我去公园,那么天不下雨。 否命题:如果天下雨,我将不去公园。 逆否命题:如果我不去公园,那么天下雨。 (2) 逆命题:如果我逗留,那么你去。 否命题:如果你不去,那么我不逗留。 逆否命题:如果我不逗留,那么你不去。 (3) 逆命题:如果方程无整数解,那么n是大于2的正整数。 否命题:如果n不是大于2的正整数,那么方程有整数解。 逆否命题:如果方程有整数解,那么n不是大于2的正整数。 (4) 逆命题:如果我不能完成这项任务,那么我不获得更多的帮助。 否命题:如果我获得更多的帮助,则我能完成这项任务。

2018-06-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除