自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

梅森上校的博客 业精于勤荒于嬉,形成于思毁于随。

软件技术,项目管理,赢得面试等

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

原创 JAVA版本:二叉树的层次遍历算法设计

二叉树的层次遍历算法设计设计二叉树的层次遍历算法二叉树层次遍历的结果应该为:62,15,68,12,46,65,79,35,57算法设计如下/* * 二叉树的层次遍历算法设计 * */ public List<List<Integer>> levelOrder(TreeNode root) { Queue&...

2018-03-31 20:15:57 2105

原创 JAVA版本:根据二叉树的中序遍历和后序遍历构造出二叉树

根据二叉树的中序遍历和后序遍历构造出二叉树给出二叉树的中序遍历数组和后序遍历数组构造出该二叉树二叉树的中序遍历和后序遍历分别为下面的数组:int[] inorder = {12,15,35,46,57,62,65,68,79}; int[] postorder= {12,35,57,46,15,65,79,68,62};算法设计如下:package com.bean.co...

2018-03-31 20:03:01 943

原创 JAVA版本:根据二叉树的前序遍历和中序遍历构造出二叉树

根据二叉树的前序遍历和中序遍历构造出二叉树给出二叉树的前序遍历数组和中序遍历数组构造出该二叉树例如:给出整型数组,代表二叉树的前序遍历结果和中序遍历结果,构造出该二叉树。int[] preorder = {62,15,12,46,35,57,68,65,79}; int[] inorder = {12,15,35,46,57,62,65,68,79};算法设计pack...

2018-03-31 19:52:09 647

原创 JAVA实现二叉排序树(创建、中序遍历、插入节点和删除节点操作)

JAVA实现二叉排序树二叉排序树的定义二叉排序树或者是一棵空树,或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于或等于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值; (3)左、右子树也分别为二叉排序树;从上述定义可以看出,二叉排序树的定义本身就是依赖于递归思想的。二叉排序树举例二叉排序树的JAVA...

2018-03-31 19:21:53 7887 4

原创 JAVA实现二叉树的前序遍历、中序遍历、后序遍历和层次遍历算法

JAVA实现二叉树的前序遍历、中序遍历、后序遍历和层次遍历算法如图所示一颗二叉树,用JAVA实现二叉树的前序遍历、中序遍历、后序遍历和层次遍历算法定义树节点public class TreeNode { int data; TreeNode leftChild; TreeNode rightChild; TreeNode(){ th...

2018-03-31 13:27:55 1278

原创 JAVA版完全二叉树的创建、判断和层次遍历问题

JAVA版完全二叉树的创建、判断和层次遍历问题完全二叉树(Complete Binary Tree)是从0到h-1的每一层都具有最大可能的节点数,并且层数h上的所有叶子节点按照从左之右的顺序进行填充。高度为h的最大完全二叉树在层数h上含有2h2h2^h个节点。完全二叉树满二叉树一定是完全二叉树,但是完全二叉树不一定是满二叉树。非完全二叉树二叉树具有的性质二叉树的性质...

2018-03-31 11:16:19 1620

原创 JAVA实现二叉树的层次遍历问题

JAVA实现二叉树的层次遍历问题所谓二叉树的层次遍历顺序:首先访问根节点,接着访问层数1上的节点,随后访问层数2上的节点,依次类推。 如图所示:层次遍历:A、B、C、D、E、null,F,G,null算法设计1、首先定义树节点public class TreeNode { int data; //节点值 TreeNode leftChild; //左子树节...

2018-03-28 19:02:28 1296

原创 再谈软件测试工程师成长之路—从入门到优秀再到卓越

再谈软件测试工程师成长之路—从入门到优秀再到卓越近年来随着信息技术的高速发展和应用领域的不断扩展,云计算、大数据和移动互联网这“三驾马车”似乎正被人工智能(AI)和虚拟现实(VR)、物联网(IoT)和区块链等新兴的领域标签所取代。无论信息化技术领域如何变化,无论软件开发技术如何升级,软件测试作为技术研发流程中最重要的环节之一,其地位是不言而喻的。然而作为一名测试从业者,应该去不断思考和寻求这些...

2018-03-27 00:53:35 1745

原创 JAVA代码—算法基础:全排列问题

全排列问题问题描述给定一个整型数组,例如:[1,2,3],输出元素的全排列形式,即: [[3, 2, 1], [2, 3, 1], [2, 1, 3], [3, 1, 2], [1, 3, 2], [1, 2, 3]]算法分析当只有一个元素时,集合为:{1} 现在加入2,将数字2分别加入上述集合的 0位置和1位置, 可以得到:{2,1};{1,2} 当在加入3时, 可以将...

2018-03-25 18:04:05 273

原创 JAVA代码—算法基础:拨号键盘的字母组合问题

拨号键盘的字母组合问题问题描述给定一个数字串,返回这个数组串所表示的所有可能的字母组合。 数字和字母的映射关系类似于一个手机的拨号键盘,如图所示:例如:输入数字串“23” 返回: [“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].注意:虽然上述答案在返回时是按照字典字母顺序排列的,但是你可以按照你想要的顺序返回结果...

2018-03-25 17:25:58 1280

原创 JAVA代码—算法基础:数独问题(Sodoku Puzzles)

数独问题(Sodoku Puzzles)数独游戏(日语:数独 すうどく)是一种源自18世纪末的瑞士的游戏,后在美国发展、并在日本得以发扬光大的数学智力拼图游戏。 拼图是九宫格(即3格宽×3格高)的正方形状,每一格又细分为一个九宫格。在每一个小九宫格中,分别填上1至9的数字,让整个大九宫格每一列、每一行的数字都不重复。 数独的玩法逻辑简单,数字排列方式千变万化。不少教育者认为数独是锻炼脑筋的好...

2018-03-24 10:10:40 3362 2

原创 JAVA代码—算法基础:键盘行字符处理问题

键盘行字符处理问题问题链接:https://leetcode.com/problems/keyboard-row/description/问题描述给定一个单词列表,判断其中哪些单词所包含的字符可以使用下面图例中的键盘上的同一行字母就可以构成。 输出这样的单词。注意:假设键盘上同一行的字符可以多次使用。 输入的单词列表中所包含的字符仅仅是字母构成。算法设计packag...

2018-03-23 23:44:44 278

原创 ISTQB题解:根据状态转换图设计测试用例数量的问题分析

根据状态转换图设计测试用例数量的问题分析ISTQB Foundation Level的模拟题中有这样的一道题目:(K3) 根据以下状态转换图,为了覆盖所有的状态转换,至少需要设计多少测试用例?这个题目如何分析呢?问题解答这个问题首先看图中给出了多少种状态,图中的状态有:empty、filled、full。 从开始顺着箭头的走向有:【开始】到 【Empty】到【fill...

2018-03-23 22:45:23 1757

原创 ISTQB题解:关于一道决策表优化的题解

关于一道决策表优化的题解问题来自ISTQB Foundation Level模拟试题中的一道题目:答案选项有: A. 5 B. 6 C. 7 D. 8应该选择哪一个选择呢?问题解答我们注意到这个决策表的条件桩给出了4个条件,每个条件可以取值为Y或者N,这样全排列组合的规则有 16 条 。 图中列出了 16 条规则。但是这些规则中存在冗余的规则。首先去...

2018-03-23 22:31:21 2376

原创 JAVA代码—算法基础:矩阵变换问题

矩阵变换问题问题描述原问题链接:https://leetcode.com/problems/reshape-the-matrix/description/给定一个二维数组代表一个矩阵。例如: [ [1,2], [3,4] ]这个矩阵具有2行2列。给定整数r和c分别代表需要将原矩阵变换为目标矩阵的行数和列数。 例如:r=1,c=4,表示将原2行2列的矩阵变换为1行4列的...

2018-03-21 23:46:13 420

原创 JAVA代码—算法基础:采用动态规划(DP)求解Unique Paths问题

采用动态规划(DP)求解Unique Paths问题问题描述原题链接:https://leetcode.com/problems/unique-paths/description/A robot is located at the top-left corner of a m x n grid (marked ‘Start’ in the diagram below).The ro...

2018-03-17 17:48:50 569

原创 JAVA代码—算法基础:Minimum Path Sum问题

Minimum Path Sum问题该问题来自 LeetCode 的第64题。 64. Minimum Path Sum原题链接:https://leetcode.com/problems/minimum-path-sum/description/Given a m x n grid filled with non-negative numbers, find a path from...

2018-03-17 12:41:41 240

原创 JAVA代码—算法基础:矩阵的最小路径和问题

矩阵的最小路径和问题问题描述给定一个矩阵m,从矩阵的左上角开始每次只能向右走或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,返回所有的路径中最小的路径和。例如:给出下面的矩阵,从左上角位置开始移动,直至右下角,经过的路径值分别为:1,3,1,0,6,1,0,这时最小路径的和,最短的路径和为12。问题分析算法设计package com.bean....

2018-03-17 12:13:26 1154

原创 JAVA代码—算法基础:计算Excel 工作表的标题列

计算Excel表的标题列问题描述给定一个正整数,返回与其数值相应的Excel工作表的标题列 例如:1 -> A2 -> B3 -> C...26 -> Z27 -> AA28 -> AB 问题分析首先了解一下在JAVA中,与字符相关的特点,请看下面的代码:for(char i='A';i<'Z';i++) { ...

2018-03-15 21:10:49 468

原创 JAVA代码—算法基础:埃及分数问题

埃及分数问题问题描述分子为1 的分数称为埃及分数,现输入一个真分数,请将该分数按下面的方法分解为埃及分数: 1.若真分数的分子a能整除分母b,则真分数经过化简就可以得到埃及分数; 2.若真分数的分子不能整除分母,则可以从原来的分数中分解出一个分母为b/a+1的埃及分数; 3.用这种方法将剩余部分反复分解,最后可得到结果。如:8/11=1/2 + 1/5 + 1/37 + 1/4070。...

2018-03-11 10:58:16 1318

原创 JAVA代码—算法基础:贪心算法在活动安排问题中的应用

贪心算法在活动安排问题中的应用问题描述有若干个活动,第i个开始时间和结束时间是[Si,fi),只有一个活动场地可以利用,活动之间不能交叠,求最多安排多少个活动?问题分析活动安排问题就是要在所给的活动集合中选出最大的相容活动子集合,是可以用贪心算法有效求解的很好例子。该问题要求高效地安排一系列争用某一公共资源的活动。贪心算法提供了一个简单、漂亮的方法使得尽可能多的活动能兼容地使用...

2018-03-09 18:14:27 4794

原创 JAVA代码—算法基础:最大连续子数组乘积问题

最大连续子数组乘积问题问题描述在一个整型数组中寻找连续的元素(至少包含1个元素)构成子数组使得其元素乘积最大。 例如:给定数组 {2,3,-2,4}; 最大连续元素构成的子数组为 {2,3},最大乘积为 6。问题分析注意:数组元素可能为 负数、0、整数。 其次,元素要连续。算法设计package com.bean.algorithmbasic;public clas...

2018-03-08 22:17:50 646

原创 JAVA代码—算法基础:从n个数中取m个使得乘积最大?

从n个数中取m个使得乘积最大?问题描述  对于n个数,从中取出m个数,如何取使得这m个数的乘积最大呢?    输入格式   第一行一个数表示数据组数   每组输入数据共2行:   第1行给出总共的数字的个数n和要取的数的个数m,1<=n<=m<=15, 第2行依次给出这n个数,其中每个数字的范围满足:a[i]的绝对值小于等于4。输出格式 ...

2018-03-08 22:12:00 2502

原创 JAVA代码—算法基础:求最大子矩阵的和

求最大子矩阵题目描述给定一个n*m的矩阵A,求A中的一个非空子矩阵,使这个子矩阵中的元素和最大。 其中,A的子矩阵指在A中行和列均连续的一块。输入格式   输入的第一行包含两个整数n, m,分别表示矩阵A的行数和列数。   接下来n行,每行m个整数,表示矩阵A。 输出格式   输出一行,包含一个整数,表示A中最大的子矩阵中的元素和。样例输入 3 3 -1 -4 3 ...

2018-03-07 23:46:48 3024

原创 JAVA代码—算法基础:整数拆分求最大乘积问题

整数拆分求最大乘积问题问题描述:给定一个正整数 n,将其分解为至少两个正整数的总和并最大化这些整数的乘积。返回您可以得到的最大结果。 例如,给定 n = 2,返回 1 (2 = 1 + 1); 给定 n = 10,返回 36 (10 = 3 + 3 + 4)。 注: 您可能认为 n 不小于2且不大于58。算法分析根据题目设定的条件整数n的取值范围为: 2<=n<=58...

2018-03-07 17:39:45 3866 1

原创 JAVA代码—算法基础:切割钢锯条售卖的问题

切割钢锯条售卖题目描述:给定一段长度为n英寸的钢条和一个价格表,求切割方案,使销售收益Rn最大。 注:若长度为n英寸的钢条的价格Pn足够大,最优解可能就是完全不需要切割。 长度(i) 1 2 3 4 5 6 7 8 9 10 价格(R) 1 5 8 9 10 17 17 20 24 30...

2018-03-04 22:43:51 526

原创 算法刷题:LeetCode中常见的动态规划题目

动态规划刷题笔记53. Maximum Subarray原题链接地址:https://leetcode.com/problems/maximum-subarray/description/题目描述Find the contiguous subarray within an array (containing at least one number) which has the ...

2018-03-04 20:08:29 6556

原创 JAVA算法:三角形最短路径问题(动态规划求解)

三角形最短路径问题问题描述:给出如图所示的三角形,从顶点开始,求出从顶点开始到最下一层所经过的元素的最小路径和。 例如:从顶点到底边的最小路径和为:17 (i.e., 7 + 3 + 1 + 4 + 2 = 11).问题分析: 该问题可以考虑采用动态规划算法解决。 动态规划是针对一类求最优解的问题的算法, 其核心是将一个问题分解成为若干个子问题(这里对应下文的子问题使用条件)...

2018-03-04 13:19:58 2901

原创 JAVA代码—算法基础:最大连续邮资问题求解

最大连续邮资问题求解问题描述:假设国家发行了n种不同面值的邮票,并且规定每张信封上最多只允许m张邮票。连续邮资问题要求对于给定的n和m的值,给出邮票面值的最佳设计,即在1张信封上可贴出从邮资1开始,增量为1的最大连续邮资区间。例如,当n=5和m=4时,面值为(1,3,11,15,32)的5种邮票可以贴出邮资的最大连续邮资区间是1-70。分析: 对于连续邮资问题,用n元组x[1:n]表示n...

2018-03-04 12:56:54 1359

原创 JAVA代码—算法基础:DFS搜索算法伪代码

DFS搜索算法伪代码给出如图所示的图,求图中的V0出发,是否存在一条路径长度为4的搜索路径。/** * DFS核心伪代码 * 前置条件是visit数组全部设置成false * @param n 当前开始搜索的节点 * @param d 当前到达的深度,也即是路径长度 * @return 是否有解 */ bool DFS(Node n, int d){ ...

2018-03-03 16:24:15 1159

原创 JAVA代码—算法基础:重建行程

重建行程问题描述:给出一组代表从出发到到达的机票(From,To),重新建立形成顺序。 所有的机票都是属于一个从JFK出发的,所以行程必须从JFK开始。注意:如果有多个有效的行程,你应该返回的行程,具有最小的词汇顺序当读为一个字符串。例如:行程[“JFK”, “LGA”] 比行程 [“JFK”, “LGB”]具有最小的字典词汇顺序。 所有机场由三个大写字母(IATA代码)表示。...

2018-03-03 16:19:20 164

原创 JAVA代码—算法基础:素数环问题

素数环问题问题描述:输入正整数n,把整数1,2,3,…n组成一个环,使得相邻两个整数之和均为素数。输出时从整数1开始逆时针排列。同一个环应恰好输出一次。N<=16。输入样例:6输出样例:1 4 3 2 5 6 1 6 5 2 3 4算法设计:package com.bean.algorithmbasic;public class PrimeRing { ...

2018-03-03 02:23:18 1450 1

原创 JAVA代码—算法基础:字谜分组

字谜分组问题描述:给定一个字符串数组,请将数组中的元素进行分组。例如,给定字符串数组为: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],则返回结果为: [ [“ate”, “eat”,”tea”], [“nat”,”tan”], [“bat”] ] 注意:所有的字符串均为小写字母。分析:通过观察给定的字符串数组,分析其每一个元...

2018-03-02 23:13:24 3107

原创 JAVA代码—算法基础:四平方定理问题

四平方定理问题问题描述:给定一个正整数N,这个正整数N可以用不超过4个整数的平方和表示。 例如:12可以表示为 4+4+4,返回值 n=3,即 3个4之和。而4是2的平方。 给定整数13,13可以表示为 4+9, 返回值 n=2,即 2的平方和加上3的平方和。问题分析:这个题目说的实际上的Lagrange四平方定理。这个定理在数学上已经被证明是正确的。我们不用证明,只需要使用这个定理来...

2018-03-02 16:56:33 1388 1

McGraw+Hill+Oracle.Database+11g+SQL

McGraw+Hill+Oracle.Database+11g+SQL 电子图书

2010-09-03

空空如也

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

TA关注的人

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