自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

二哈

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

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

原创 最大子段和(线段树)

1. 问题描述:input:第一行输入的n和数字表示区间1-n区间上的数字,第二行输入给定区间的起始位置和结束位置,第三行到n + 2行输入区间1-n的数字output:输入给定区间的最大子段和(该区间内的代数和是最大的)2. 思路分析:① 对于最大子段和的问题,我们常规的解法是使用线段树来做,通过二分法递归求解,每一次都是分为两个区间,所以需要先取一个中点center,...

2019-03-30 19:18:16 745

原创 Android中圆角按钮的设置

1. 在布局文件中假如是默认的按钮那么它是长方形的,看上去有点丑,在按钮中圆角按钮会比较好看一点,下面是具体实现的方法2. 具体的步骤如下:① 在项目的drawable-hdpi文件夹下创建一个android xml文件,我们可以在这个文件下进行按钮样式的设置,具体的代码如下:<?xml version="1.0" encoding="utf-8"?><shape...

2019-03-28 21:42:59 2349

原创 Android中的资源文件

1. 我们在开发APP的时候在布局文件中的文本名字最好不要直接写在布局文件中,我们可以在项目的values中新建一个android的资源文件新建一个资源文件之后我们可以在布局文件中使用@+xml文件的名字/属性名这样在布局文件中就可以获取外部的资源文件的相关属性值2. 这样做的目的是为了更好地在资源文件中修改布局文件中的文本名字,所以来说更容易管理,...

2019-03-28 21:35:33 145

原创 阶乘位数

1. 问题描述:(这道题目是计蒜客2019 蓝桥杯省赛 A 组模拟赛)蒜头君对阶乘产生了兴趣,他列出了前1010个正整数的阶乘以及对应位数的表:nn n!n! 位数 1 1 1 2 2 1 3 6 1 4 24 2 5 120 3 6 720 3 7 5040 ...

2019-03-28 20:26:11 1330

原创 java计算对数

1. 有的时候我们需要求解出某些以2为底的对数或者以10为底的对数,但是在Java的API中好像只是提供了对于以e为底的底数的计算,这个时候我们就需要借助于数学公式来帮助我们求解了,这个数学公式就是换底公式我们借助于这个换底公式可以计算以任意数字为底数的对数2. 下面是具体的代码:public class Main { public static void main(String[...

2019-03-28 20:04:24 10027

原创 使用genymotion测试android工程

1. 我们在写好Android的代码之后除了可以使用Eclipse中创建的虚拟设备进行测试之外,我们还可以使用另外一个测试代码的工具,那就是Genymotion,这个工具启动的速度很快,比较方便调试,我们先可以在自己的电脑上安装Genymotion与Virtual Box软件,然后在Eclipse上安装genymotion,然后在eclipse上修改自己安装genymotion插件的位置,这样我们...

2019-03-28 17:18:20 323

原创 六角填数(全排列-抓取法)

1. 问题描述:如图所示六角形中,填入1~12的数字。使得每条直线上的数字之和都相同。图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少?请通过浏览器提交答案,不要填写多余的内容(答案是10)2. 思路分析:① 对于这种填数字的我们首先要有一种全局的思维,因为这样的问题经典的解法是使用全排列去求解,套路是先生成所有的全排列然后在出口的时候使用check函数...

2019-03-22 10:45:25 1378

原创 抓取法生成全排列(没有重复元素的递归求解)

1. 生成没有重复元素全排列有很多种方法,可以使用交换当前位置的元素与当前位置以及之后位置的元素,然后递归求解,除了上面的方法之外我们还有一种方法就是尝试抓取的方法,对于当前的元素我尝试去抓取填到放结果的数组的对应的位置中,所以需要有一个标记当前元素是否被访问,我们可以使用一个数组来进行标记,对于当前没有被访问过的元素那么我们尝试填入到结果数组中,每一个位置我都尝试抓取数组中的每个元素,这样就可以...

2019-03-22 09:57:52 273

原创 生成重复元素的全排列

1. 我们在很多时候都需要使用到全排列,但是有的时候由于元素是重复的,所以先生成全排列然后再进行判断的话那么消耗的时间比较多,有可能在数据规模比较大的时候就计算不出来,这个时候我们可以采用另外一种的方法来提前判断递归下去的全排列是否是重复的2. 具体的思路如下:① 将所有的元素放到一个数组之中,使用一个相同长度的整型数组用来判断之前是否使用过数字,例如一开始数组是这样的:int arr[]...

2019-03-22 09:42:01 619

原创 深度优先搜索的例子以及分析

1. 深度优先搜索特别适用于那些探索所有的可能性的这些问题,问题解决的可能性是非常多的,所以需要去探索所有的可能性,从而找到所有能够满足问题的解决方案或者是解决方案中最优的那一个,下面是使用深度优先搜索比较经典的例子2. 具体的例子如下:① 比如数独游戏,走迷宫这些都是可以使用深度优先搜索来进行解决,数独游戏中尝试着往格子里面填入1-9的数字,每一个格子都是这样去尝试,最终可以得到完...

2019-03-21 19:43:22 5160

原创 使用集合数组创建邻接表

1. 对于无根树或者无向图的节点的深度优先搜索中,因为无向的,所以我们必须将有联系的节点进行双向的联通,而邻接表对于这种问题的解决就再适合不过了,下面是构建邻接表的过程2. 具体的步骤如下:① 创建一个集合数组,将与当前有联系的节点加入到集合数组中,集合数组中的每一个元素都是一个集合,而集合是可以动态将元素装进去的,所以可以满足我们的需求,数组的下标表示的是当前节点的序号② 怎么样进行...

2019-03-21 18:05:52 331

原创 java获取当前的系统时间

有的时候我们在写页面程序的时候需要使用到当前的系统时间并且动态显示到页面中,这个时候就需要使用到Java中相关的日期API了,具体的代码如下:import java.text.SimpleDateFormat;import java.util.Date;public class Main { public static void main(String[] args) { Simp...

2019-03-21 17:41:44 15320

原创 深度优先搜索之生命之树

1. 问题描述:在X森林里,上帝创建了生命之树。 他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值。 上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都存在一个点列 {a, v1, v2, ..., vk, b} 使得这个点列中的每个点都是S里面的元素,且序列中相邻两个点间有一条边相连。在这个前提下,上帝要使得S中的点所对应的整数的和...

2019-03-21 17:31:43 207

原创 矩阵的乘法

1. 矩阵A能够与矩阵B相乘的前提条件是矩阵A的列等于矩阵B的行,矩阵A的每一行乘以矩阵B的每一列上对应的数字然后把相乘的结果加起来这样就得到了结果矩阵中的当前行与列的位置上的结果,所以需要使用三重循环来解决,第一层循环表示的矩阵A的行,第二层循环表示的是矩阵的列,第三层循环表示的是矩阵A的列或者矩阵B的行,循环之后就可以把矩阵相乘的结果计算出来了2. 具体的代码如下:public cl...

2019-03-21 16:52:59 1426

原创 方格填数(全排列 + 递归)

1. 问题描述:如下的10个格子+--+--+--+||||+--+--+--+--+|||||+--+--+--+--+||||+--+--+--+(如果显示有问题,也可以参看【图1.jpg】)填入0~9的数字。要求:连续的两个数字不能相邻(左右、上下、对角都算相邻)一共有多少种可能的填数方案?请填写表示方...

2019-03-21 14:12:20 1657 1

原创 凑算式(全排列 + 判断)

1. 问题描述:凑算式 B DEFA + ---- + ------- = 10 C GHI这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。比如:6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法。这个算式一共有多少种解法?注意:你提交应该是个整数,不要填写任何多余的...

2019-03-20 12:44:37 603

原创 矩阵的快速幂运算(二进制)

1. 问题描述:有的时候我们需要计算出一个矩阵的n次幂,因为有的时候我们需要将问题转化为矩阵的n次幂之后那么可以降低时间的复杂度,但是希望不要通过循环一个矩阵乘以一个矩阵,因为这样的时间复杂度为O(n),希望能够通过较快的方法来计算出矩阵的n次幂,一种方法就是类似于求解一个数字的快速幂运算的方法来进行求解,其中还会涉及到矩阵的乘法的运算,而矩阵的能够相乘需要满足A矩阵的列要等于B矩阵的行,具体...

2019-03-19 21:34:09 2736

原创 快速幂运算(递归)

1. 问题描述:求解出结果在Long范围内的 n 的 x 次幂2. 思路分析:① 使用传统计算累乘的方法时间时间复杂度O(n),我们可以对其进行优化,使用的是反复平方的方法来进行求解,反复平方的话相当于以2的指数的速度靠近x,这样的计算速度是很快的② 因为每一次指数都是以2的倍数增长的,所以在循环中只能求解出x的偶数次幂(假设目前到的结果是x的y次幂),所以我们要对剩下来的n的x ...

2019-03-19 14:20:56 1728

原创 深度优先搜索之传入的参数分析

1. 问题描述:我们在使用深度优先算法的时候往往要往递归的方法中传入多个参数,但是怎么样将需要的参数传递进去呢?2. 分析:① 首先这个我们根据实际问题来进行分析,在递归方法的时候首先应该把必须要的参数传进去,在写的时候发现往下继续调用或者其他操作的时候假如不能够进行完成那么需要考虑多传进去一个我们需要的参数,这样可能对问题的求解救比较容易了② 传进递归方法的参数无非就是由两种,一...

2019-03-19 09:21:00 357

原创 深度优先搜索之牌型种类

1. 问题描述:小明被劫持到X赌城,被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?请填写该整数,不要填写任何多余的内容或说明文字2. 思路分析:① 我们分析题目可以知道这是一种典型的组合问...

2019-03-18 20:37:20 176

原创 循环节的长度

1. 问题描述:循环节长度两个整数做除法,有时会产生循环小数,其循环部分称为:循环节。比如,11/13=6=>0.846153846153..... 其循环节为[846153] 共有6位。下面的方法,可以求出循环节的长度。请仔细阅读代码,并填写划线部分缺少的代码。 public static int f(int n, int m) { n...

2019-03-18 17:20:56 4002 1

原创 三羊献瑞(枚举)

1. 问题描述:观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞--------------------- 三 羊 生 瑞 气其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容2. 思路分析:① 首先将文字写成字母表达的式子,把上面的文字分别使用不同的字母来...

2019-03-18 16:15:51 400

原创 立方边自身(枚举)

1. 问题描述:观察下面的现象,某个数字的立方,按位累加仍然等于自身。1^3=18^3=5125+1+2=817^3=49134+9+1+3=17...请你计算包括1,8,17在内,符合这个性质的正整数一共有多少个?2. 思路分析:① 主要是进行枚举加上条件即可,首先需要确定的是for循环应该循环到哪里,我们知道99 * 99 * 99...

2019-03-18 10:54:32 198

原创 地宫取宝(深搜 + 记忆型的递归)

1. 问题描述:有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。小明被带到地宫的入口,国王要求他只能向右或向下行走。走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。请你帮小明算一算...

2019-03-17 21:35:24 285

原创 分糖果

1. 问题描述:有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:每个小朋友都把自己的糖果分一半给左手边的孩子。一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。反复进行这个游戏,直到所有小朋友的糖果数都相同为止。你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。输入程序首先读入一个整数N(2&lt;...

2019-03-17 17:33:32 121

原创 java中常用的api

1. 字符串与数字之间的相互转换① 将数字转化为字符串:String s= Integer.toString(int n);String s= Double.toString(double n);② 将数字型的字符串转化为数字int n = Integer.parseInt(String s);double n = Double.parseDouble(s);...

2019-03-17 14:52:05 317

原创 扑克排序(全排列 + String中API的使用)

1. 问题描述:A A 2 2 3 3 4 4, 一共4对扑克牌。请你把它们排成一行。要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌请填写出所有符合要求的排列中,字典序最小的那个1例如:22AA3344 比 A2A23344 字典序小。当然,它们都不是满足要求的答案。、请通过浏览器提交答案。“A”一定不要用小写字母a,也不要用“1”代替。字符...

2019-03-17 14:28:08 487

原创 奇怪的分式(枚举 + 判断)

1. 问题描述:上小学的时候,小明经常自己发明新算法。一次,老师出的题目是:1/4 乘以 8/5 ,小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见下图)老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢?请写出所有不同算式的个数(包括题中举例的)。显然,交换分子分母后,例如:4/1 ...

2019-03-17 13:33:32 773

原创 Eclipse导出项目出现resource is out of sync with the file...错误

1. 问题描述:在使用Eclipse导出项目的时候中间过程出现了异常:① 百度查了一下资料,主要的原因是:由于eclipse中文件不同步引起的,在eclipse中,工程文件是由eclipse自动扫描添加的,如果在外部修改了工程目录中的文件但又关闭了自动刷新功能,则会引起文件不同步,从而搜索时出现Resource is out of sync with the file sys...

2019-03-17 11:57:54 886

原创 猜字母

1. 问题描述:标题:猜字母把abcd...s共19个字母组成的序列重复拼接106次,得到长度为2014的串。接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容2. 思路分析:① 对于...

2019-03-17 10:43:47 177

原创 二分查找(递归)

1. 问题描述:给定一个排好序的整型数组和一个给定的数字,找到数组中比给定数字稍微大一点的那个位置,假如没有找到返回-12. 思路分析:① 由题目中我们可以知道数组是排好序的,那么我们可以使用二分查找来找到这个位置,在递归的方法中我们需要传入的参数有数组的已知数组,起始位置,结束位置,和给定的目标数字② 在递归的主体方法中我们首先要求解出数组的中间位置,假如目标数字大于了这个...

2019-03-15 16:53:10 3893

原创 深度优先搜索之代表团出访

1. 问题描述:题目:X星球要派出一个5人组成的观察团前往W星。其中:A国最多可以派出4人。B国最多可以派出2人。C国最多可以派出2人。D国最多可以派出1人。E国最多可以派出1人。F国最多可以派出3人。那么最终派往W星的观察团会有多少种国别的不同组合呢?2. 思路分析:① 仔细分析一下题目我们可以知道实际上这个是与之前的m个具有重复球中取出n个球的问题,所以我们...

2019-03-15 13:47:23 127 1

原创 组合问题二(递归)

1. 之前的取球问题是m个不同的球中取出n个共有多少种的取法,而现在我们要求解的是元素中存在重复的问题,需要求解的问题是在字符串"AABBBC"中3个字母共有多少种的取法2. 由于问题是不一样的,所以我们求解的方法也是不一样的,下面是具体解决的思路① 首先我们要声明一个数组来记录当前位置出现的次数是多少,上面的例子是data[] = {2,3,1},还有就是需要设置一个变量来表示当前...

2019-03-14 21:26:41 391

原创 对于递归的理解

1. 说到递归,我们学习过计算机的人就知道,所以来说并不陌生,但是真正做到理解了递归的原理和怎么样使用递归去求解实际性的问题来说真的是一个需要下功夫的过程,这个时候就需要我们多做一些与递归相关的题目,多想一下递归的过程,对于复杂的问题我们可能有时候需要图来帮助我们更好地进行问题的分析与解决,并且我们知道递归虽然说在对于数据量大的时候时间复杂度非常高,但是对于求解复杂性的问题却是一个非常好的方法,它...

2019-03-14 20:51:00 479

原创 取球的组合问题一(递归)

1. 问题描述:在m个不同的球中取出n个球,问有多少种的取法?2. 思路分析:① 这个实际上是一个组合的问题,我们在高中的时候学习过组合公式:所以可以求解相应的阶乘来进行求解② 除了使用上面的求解阶乘的方法来进行求解我们还可以使用递归来进行求解,但是怎么样使用递归来求解呢?分析题目可以知道对于当前的球我们可以取出来也可以不取,所以这样就存在着两种的选择,把这两种选择的结果...

2019-03-14 18:13:04 1323 1

原创 搭积木(全排列)

1. 问题描述:小明最近喜欢搭数字积木,一共有10块积木,每个积木上有一个数字,0~9。搭积木规则:每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小。最后搭成4层的金字塔形,必须用完所有的积木。下面是两种合格的搭法:01 23 4 56 7 8 903 17 5 29 8 6 4请你计算这样的搭法一共有多少种?请填表示总数目的数字。...

2019-03-14 17:01:55 1125

原创 全排列(当前字符 + 截取剩余的字符拼接)

1. 问题描述:求解出字符串"ABCDE"的全排列2. 思路分析:① 在之前的求解全排列的思路中我们使用到的是将当前位置与其他位置进行交换,比如求解1-9的全排列我们可以将第一个位置与上的数字与2-9位置上的数字进行交换,对于第二个位置的数字与3-9位置上的数字进行交换.... 所以可以对当前位置上的数字进行递归求解形成所有的全排列② 除了上面求解数字的全排列,我们也可以求解出某个...

2019-03-14 16:38:29 140

原创 吝啬的国度(建立双向联系 + 深度优先搜索)

1. 问题描述:描述在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来。现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你不走重复的路)。输入第一行输入一个整数M表示测试数据共有M(1<=M<=5)组每组测试数据的第一行输入一个正整数N(1<=N<=100000...

2019-03-14 10:36:37 428

原创 括号匹配

1. 问题描述:括号配对问题时间限制:3000 ms | 内存限制:65535 KB难度:3描述现在,有一行括号序列,请你检查这行括号是否配对。输入第一行输入一个数N(0&lt;N&lt;=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]",...

2019-03-12 12:24:05 220

原创 int类型的整数能够表示的最大数字

1. Int类型的整数能够表示的最大数字是2147483647,因为int类型可以表示4个字节所以有32位二进制为1,下面是具体的代码测试public class Main { public static void main(String[] args) { int u = 1; for(int i = 0; i &lt;= 30; i++){ u *= 2; } S...

2019-03-11 20:31:04 18055 1

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关注的人

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