自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

二哈

理性与逻辑构筑更好的自己

  • 博客(29)
  • 资源 (2)
  • 收藏
  • 关注

原创 审美课(输入数字的二进制表示)

1. 问题描述:问题描述  《审美的历程》课上有n位学生,帅老师展示了m幅画,其中有些是梵高的作品,另外的都出自五岁小朋友之手。老师请同学们分辨哪些画的作者是梵高,但是老师自己并没有答案,因为这些画看上去都像是小朋友画的……老师只想知道,有多少对同学给出的答案完全相反,这样他就可以用这个数据去揭穿披着皇帝新衣的抽象艺术了(支持帅老师^_^)  答案完全相反是指对每一幅画的判断都相反...

2019-02-23 22:11:06 844

原创 Java中对于面向对象思想的理解

1. ① 与C语言面向过程不同的是,C语言中函数是主体,如果需要修改数据需要函数来进行修改,所以来说函数在C语言中是很重要的,基本上对于数据的操作都是这样的,但是有的时候不太方便,而Java语言面向对象的特点就解决了这个问题,面向对象的思想中把描述一个对象的特点的属性都封装在这个对象中,通过对象中的set方法来修改对象中的属性的值,通过get方法来获取当前对象中属性的值,也可以通过构造方法来对属性...

2019-02-22 22:10:01 1566

原创 广度优先搜索

1. 在对树的操作中可能经常要使用到宽度优先搜索,例如寻找某棵树的某一层的所有节点就需要使用到宽度优先搜索,还有就是像分酒,迷宫这些问题都可以使用到宽搜来解决,这些往往会涉及到从开始状态到目标状态的转换,而且经过一次操作从一个状态转换到另外一个状态,往往求解的是最短的路径或者最少的步骤宽搜属于层次的遍历,进行一层一层的寻找,主要需要经过以下几个方面的操作:① 把根节点放到队列的末尾② ...

2019-02-21 14:04:17 324

原创 分红酒(广度优先搜索)

1. 题目描述:有4个红酒瓶子,它们的容量分别是:9升, 7升, 4升, 2升 开始的状态是 [9,0,0,0],也就是说:第一个瓶子满着,其它的都空着。 允许把酒从一个瓶子倒入另一个瓶子,但只能把一个瓶子倒满或把一个瓶子倒空,不能有中间状态。这样的一次倒酒动作称为1次操作。 假设瓶子的容量和初始状态不变,对于给定的目标状态,至少需要多少次操作才能实现? 本题就是要求你...

2019-02-21 13:40:48 337

原创 翻转链表(非递归)

1. 使用非递归的方式来翻转链表链表逆序的本质就是把每一个节点原本指向下一个节点的next指针倒转过来,指向它的前置节点,如果从链表的某个节点来看要把它的next指针倒转,我们最少需要同时知道三个节点,因为我们需要知道当前节点的前一个节点,后一个节点以及节点本身这样,后一个节点是因为我们在把当前节点的next指向前一个节点的之后,假如没有保存后一个节点的引用那么后一个节点就找不到了需要经过...

2019-02-20 22:49:29 290

原创 图的表示概念

图的表示有多种方式,其中主要有以下三种方式:① 邻接矩阵(二维数组):可以用来表示无向图与有向图逻辑结构分为两部分:V和E集合。因此,用一个一维数组存放图中所有顶点数据;用一个二维数组存放顶点间关系(边或弧)的数据,这个二维数组称为邻接矩阵。邻接矩阵又分为有向图邻接矩阵和无向图邻接矩阵 ② 邻接表(节点存储了当前节点的邻居)邻接表,存储方法跟树的孩子链表示法相类似,是一种顺序分...

2019-02-20 15:35:21 531

原创 kruskal算法(最小生成树)

1. kruskal:求加权连通图的最小生成树的算法在含有n个顶点的连通图中选择n-1条边,构成一棵极小连通子图,并使该连通子图中n-1条边上权值之和达到最小,则称其为连通网的最小生成树算法大体上的思路是根据给出的边集构成的连通图,能够选择其中的若干条生成一棵树,并且树的所有边的权重之和是最小的需要经过下面的步骤:① 根据给出的若干条边创建一个边集,因为需要选择权重最小的边那么需要...

2019-02-20 14:49:22 679

原创 合根植物(深搜与并查集)

1. 问题描述:问题描述  w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列)。每个格子里种了一株合根植物。  这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成为一体。  如果我们告诉你哪些小格子间出现了连根现象,你能说出这个园中一共有多少株合根植物吗?输入格式  第一行,两个整数m,n,用空格分开,表示格子的行数、...

2019-02-19 21:00:45 455 1

原创 表达式的计算(后缀表达式的求解)

1. 问题网址:http://lx.lanqiao.cn/problem.page?gpid=T419问题描述:问题描述  输入一个只包含加减乖除和括号的合法表达式,求表达式的值。其中除表示整除输入格式  输入一行,包含一个表达式输出格式  输出这个表达式的值样例输入1-2+3*(4-5)样例输出-4数据规模和约定  表达式长度不超过100,...

2019-02-18 20:32:48 24324 3

原创 三个整数的排序

1. 问题描述:问题描述  输入三个数,比较其大小,并从大到小输出输入格式  一行三个整数输出格式  一行三个整数,从大到小排序样例输入33 88 77样例输出88 77 332. 方法一:可以使用Java的三目运算符进行判断得到最大值然后判断剩下来的元素的大小关系,方法二新建一个整型数组把元素存进去然后对数组进行排序然后再逆序输出即可...

2019-02-17 21:42:53 4126

原创 九宫格

1. 问题描述:问题描述  九宫格。输入1-9这9个数字的一种任意排序,构成3*3二维数组。如果每行、每列以及对角线之和都相等,打印1。否则打印0样例输出与上面的样例输入对应的输出例:数据规模和约定  输入1-9这9个数字的一种任意排序2. 根据题目的描述写成写成即可代码如下:import java.util.Scanner;public cla...

2019-02-17 21:24:03 354

原创 简单加法

1. 问题描述:问题描述  小于10的自然数中有四个数字能除尽3或5(3, 5, 6, 9),它们的和为23  请计算所有小于1000的自然数中能除尽3或5的数字的合。然后使用标准输出cout,输出你的结果输入格式  无输出格式  一行一个整数,表示你的结果2. 枚举所有的数字加上判断即可代码如下:public class Main { pub...

2019-02-17 21:10:10 319

原创 文本加密

1. 问题描述:问题描述  先编写函数EncryptChar,按照下述规则将给定的字符c转化(加密)为新的字符:"A"转化"B","B"转化为"C",... ..."Z"转化为"a","a"转化为"b",... ..., "z"转化为"A",其它字符不加密。编写程序,加密给定字符串。样例输出与

2019-02-17 21:00:52 1349

原创 队列

1. 问题网址:http://lx.lanqiao.cn/problem.page?gpid=T418问题描述:问题描述  队列操作题。根据输入的操作命令,操作队列(1)入队、(2)出队并输出、(3)计算队中元素个数并输出输入格式  第一行一个数字N  下面N行,每行第一个数字为操作命令(1)入队、(2)出队并输出、(3)计算队中元素个数并输出输出格式  若干行...

2019-02-17 20:45:51 192

原创 三进制数位和

1. 问题描述:问题描述  给定L和R,你需要对于每一个6位三进制数(允许前导零),计算其每一个数位上的数字和,设其在十进制下为S  一个三进制数被判断为合法,当且仅当S为质数,或者S属于区间[L,R]  你的任务是给出合法三进制数的个数输入格式  一行两个非负整数L,R输出格式  一行一个非负整数表示答案样例输入0 0样例输出330数据规模和约定...

2019-02-17 18:25:18 1746

原创 进制转换

1. 问题网址:http://lx.lanqiao.cn/problem.page?gpid=T427问题描述: 用户输入三个字符,每个字符取值范围是0-9,A-F。然后程序会把这三个字符转化为相应的十六进制整数,并分别以十六进制,十进制,八进制输出,十六进制表示成3位,八进制表示成4位,若不够前面补0。(不考虑输入不合法的情况)输入  1D5输出(注意冒号后面有一个空格)  He...

2019-02-17 15:43:52 173

原创 关于递归的进一步的理解

1. 学习了关于深搜,二叉树,图论之后发现对于理解清楚递归来说是非常重要的,递归能够帮助我们干很多事情,而且在很多情况下只能使用递归来解决,比如涉及到不确定的情况下往往需要使用到递归,这也叫做深搜,尝试每一种的可能性,直到搜索完所有的路径之和,例如数独游戏就一定要使用到深搜才能够解决的,所以来说递归是非常重要的① 深搜一般的套路是在for循环中进行递归,我们需要清楚的是在for循环中递归是一层...

2019-02-09 22:38:25 264

原创 四连通检测

1. 问题描述:八连通检测-dfs的典型应用给定一个方阵,定义连通:上下左右相邻,并且值相同可以想象成一张地图,不同的区域被涂以不同颜色输入:整数N, (N<50)表示矩阵的行列数接下来N行,每行N个字符,代表方阵中的元素接下来一个整数M,(M<1000)表示询问数接下来M行,每行代表一个询问,格式为4个整数,y1,x1,y2,x2,表示询问(第y1行,第x1列...

2019-02-09 19:35:21 860

原创 使用邻接表来表示图

1. 图的表示有几种方法:一是使用邻接矩阵(其实就是二维数组)表示,二是使用邻接表来表示 ,三是使用边集来表示下面使用邻接表来表示2. 首先定义一个图的节点,其中包含几个属性,包含图节点的值,邻居节点,当前节点是否被访问的标志,还有就是对于属性相应的的操作,包括增加邻居节点,获取邻居节点,获取当前节点的邻居节点的个数import java.util.ArrayList;imp...

2019-02-09 11:27:34 2368

原创 Java中equals方法与==的区别

1. 有的时候我们需要比较两个基本数据类型或者引用数据类型这个时候就需要使用到equals方法或者==,所以弄清楚它们的区别是非常重要的 2. 在查询资料的过程中,我发现下面对于equals方法与==的区别的理解是非常有用的:① ==是一个比较运算符,基本数据类型比较的是值,引用数据类型比较的是地址值(比较地址值即是指是否为同一个对象的引用)equals()是一个方法,只能比较引用...

2019-02-08 20:50:51 377

原创 中序遍历的总结

1. 对于二叉搜索树的遍历的操作中使用典型的方法是中序遍历,中序遍历对于一棵树的遍历是先遍历左子树,然后根,最右子树并且中序遍历有递归形式有非递归形式,我们知道一棵树是递归定义的,所以对于树的遍历操作中当然可以使用递归的方法来进行遍历,而且使用递归的方式来进行遍历的话代码很简洁而且递归使用的是隐式的栈,所以我们可以自己模仿递归的过程借助栈来实现非递归形式的递归,可以自己画出一棵二叉搜索树来...

2019-02-07 23:13:35 3688

原创 不带parent指针的successor(后继)求解

1. 问题描述:请设计一个算法,寻找二叉树中指定结点的下一个结点(即中序遍历的后继),给定树的根结点指针TreeNode* root和结点的值int p,请返回值为p的结点的后继结点的值,保证结点的值大于等于零小于等于100000且没有重复值,若不存在后继返回-12. 对于一棵二叉搜索树的节点的定义一般是具有parent指针的,像下面这样:public class TreeN...

2019-02-07 22:34:19 270

原创 二叉树中序遍历的非递归算法

1. 对于树的遍历有前序、中序、后序遍历,其中中序遍历对于一棵二叉搜索树来说得到的序列是一个上升的序列,因为树是递归定义的,所以我们在对树进行遍历的时候往往是采用递归的方式来进行处理的,而且使用递归的方式往往处理起来相对简洁一些但是有的情况下要求使用非递归方式来遍历一棵二叉搜索树,怎么样进行遍历呢?我们知道递归遍历树的方式:对于树的访问先是从根节点开始进行的,递归左子树和右子树,对于左子树和...

2019-02-07 10:40:49 3634 1

原创 判断二叉树是否是完全的BST

1. 问题描述:判断一棵二叉树是否是完全的BST(Binary Search Tree 二叉搜索树)二叉查找树(Binary Search Tree),(二叉搜索树或者称为二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。...

2019-02-06 22:17:29 758

原创 BST中某一层的所有节点(宽度优先搜索)

1. 问题描述:Given a binary search tree, design an algorithm which creates a linked list of all the nodes at each depth(if you have a tree whith depth D, you're have D linked lists)题目的意思是:给出一棵二叉树,以链表的形...

2019-02-06 14:13:56 334

原创 使用有序数组构建高度最低的BST

1. 问题描述:Given a sorted(increasing order) array, write an algorithm to create a binary search tree withmininal height;给出一个上升序列的数组,使用一种算法来构建一颗具有最小高度的树树节点的定义如下:public class TreeNode<T> ...

2019-02-05 22:45:40 244

原创 路径数字串之和

1. 问题描述:Given a binary containing digits from 0-9 only, each root-to-leaf path path could represent a number.An example is the root-to-leaf path1->2->3which represents the number123Find the...

2019-02-05 14:10:12 222

原创 二叉树的最小深度

1. 问题描述:Given a binary tree, find its minimum depth. The minimum depth is the number of nodes aong the shortest pathfrom the root node down to the neartest leaf node.TreeNode节点的定义:public class...

2019-02-05 12:08:43 253

原创 前缀树的简单实现

1. 前缀树前缀树又称为单词查找树,是一种树形的结构,用于存储大量的字符串,它的优点是:利用字符串的公共前缀来节约存储空间Trie树主要是利用词的公共前缀缩小查词范围、通过状态间的映射关系避免了字符的遍历,从而达到高效检索的目的2. 可以先声明一个节点TrieNode,节点包括以下几个属性:TrieNode children[] = new TrieNode[26];TrieNo...

2019-02-05 11:34:00 4771

hprof-conv.exe

当你出现android------DDMS files not found: tools\hprof-conv.exe错误的时候可以下载这个工具来解决这个问题

2019-03-03

使用json依赖大的jar包

这个json数据包可以用来支持json字符串与对象之间的转换

2019-01-18

空空如也

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

TA关注的人

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