- 博客(46)
- 收藏
- 关注
原创 算法之计数排序
原理:用一个数组记录待排序数组中出现的数字。最低位代表最小值,偏移量是记录数组中的下标;待排序数组: 2 1 4 可以表示为记录数组: 1 1 0 1 数组长度为(4-1+1)然后根据记录数组输出结果 public static void countSort(int [] arr){ if(arr==null){ return; ...
2019-10-09 10:55:52
222
1
原创 算法之堆排序
要求:从小到大排序思路:先将数组构建成大顶堆, 然后依次“删除”顶部元素 到末尾 /** * “下沉”操作 ,如果构建大顶堆,将小的下沉;如果构建小顶堆,将大的下沉;这里是将小的下沉 * 由于从底部开始调整,,下面的已经是大顶堆了 * @param array 待调整的数组(堆) * @param parentIndex 父节点 * @p...
2019-09-04 15:43:03
177
原创 算法之关于冒泡排序的奋斗史
//冒泡排序 -- 简单版本 void bubble(int[] array){ if(array==null){ return; } if(array.length<=1){ return; }// 冒泡排序的本质就是:(如...
2019-08-16 22:28:32
155
原创 Android之自定义View的绘制尝试+TextView排版
(1)canvas.draw(content,x,y,paint)方法中,x:以x位置作为左边,向右绘制 |contenty:设置画笔的起始位置,是往上绘制的 __content ( __:可以理解成底线,content是内容的位置 )(2)怎么获取某一段文字呢? //用来获取 整一块的内容 可以看成是View的Content部分 //将text设置上去后,已经完成了分行 ...
2019-07-31 14:29:17
1322
原创 算法之字符串同构
给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = “egg”, t = “add”输出: true示例 2:输入: s = “foo”, t = “bar”输出: false示...
2019-07-19 23:43:11
189
转载 java之修饰符
类修饰符:public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类。abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现。final,将一个类生命为最终(即非继承类),表示他不能被其他类继承。friendly,默认的修饰符,只有在相同包中的对象才能使用这样的类。成员变量修饰符:public(公共访问控制符),指定该变量为...
2019-07-19 23:40:31
100
原创 算法之质数个数
统计所有小于非负整数 n 的质数的数量。示例:输入: 10输出: 4解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。思路什么是质数?就是这个数有除了1和自身外的约数,最小的质数是2可以先标2的所有倍数得到下一个质数 3(因为 3未被标记 – 意味这3不是某个数的倍数; 而且小于3的数中只有质数或已经被标记的数);然后标记所有3的倍数得到下一个质数为...
2019-06-07 02:57:12
1091
原创 Android之将文件转为drawable
文件放在Drawable文件中,将之转为Drawable Resources resources = getContext().getResources(); Drawable drawable_press = resources.getDrawable(R.drawable.btn_bg_pressed);
2019-05-12 21:37:33
3147
原创 Android之实现选中时改变样式
怎么实现?在xml中 将需要改变样式的控件 的样式指向对应文件改变图片布局文件:<!--指定不同情况使用不同的图标--> <ImageView android:id="@+id/img_tab" android:layout_width="24dip" android:layout_height="24dip"...
2019-05-12 06:09:47
1083
原创 Android之SharePreferences
什么是SharePreference?一种轻型数据存储方式,基于xml文件存储key-value键值对,通常存储一些配置信息SharePreference使用概括(1)通过context来获取获取SharePreferences对象(2)调用SharePreferences的edit()方法获取一个Editor()对象(3)通过Editor对象的putXXX来设置数据(4)通过Shar...
2019-04-22 13:31:09
1533
原创 Android之drawBitmap方法
canvas.drawBitmap(Bitmap bitmap, Rect src,Rect dst, Paint paint)这几个参数有什么含义?bitmap是要进行处理的位图src是对bitmap裁剪如果是整张,那么:Rect src=new Rect(0,0,bitmap.getWidth(),bitmap.getHeight())如果裁剪部分,可以是:Rect src=n...
2019-04-01 19:27:01
6748
1
原创 算法之求平方根
实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842…,由于返回类型是整数,小数部分将被舍去。 //使用二分法 static class Solution { ...
2019-03-09 17:02:55
1326
原创 算法之装几升水
最开始的问题:有两个杯子,一个6升(cup1)、一个5升(cup2),怎么样得到3升水?第一次:6升的杯子装满,然后倒进5升杯子里面,那么cup1=1,cup2=5;倒掉cup2中的所有-- cup2=0,然后将cup1中的转给cup2–cup2=1第二次:当前cup1=0,cup2=1(可以装5升,但现在已经装了1升);装满cup1=6,cup2=1; 将cup1的倒过去,cup1=2,cu...
2019-03-08 14:56:50
517
原创 Android之接口回调
(1)首先,在模板类(因为可能在不同activity里面使用,并且想要在不同activity中有不同的逻辑实现)中定义一个接口public class My_call extends LinearLayout{ //省略了addView操作 Button left_button; Button right_button; My_click_listener my...
2019-03-08 13:59:36
195
原创 算法之最小路径和
给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。class Solution { public int minPathSum(int[][] grid...
2019-03-08 00:51:53
232
原创 算法之跳到矩阵右下角位置的路径(不同路径)
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?说明:m 和 n 的值均不超过 100。示例 1:输入: m = 3, n = 2输出: 3解释:从左上角开始,总...
2019-03-07 15:26:04
891
原创 算法之移动k位
给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4-&am
2019-03-07 13:16:14
319
原创 Android之gravity和layout_gavity
gravity是干什么的?用来设置该view里面内容的放置方式,比如让textView里面 内容居中layout_gravity是干什么的?用来设置当前view在它的父view中的位置,比如该view想放到它的父view的底部...
2019-03-06 02:40:21
168
原创 算法之第k个序列
给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”“132”“213”“231”“312”“321”给定 n 和 k,返回第 k 个排列。说明:给定 n 的范围是 [1, 9]。给定 k 的范围是[1, n!]。示例 1:输入: n = 3, k = 3输出: “213...
2019-03-05 22:05:04
308
原创 算法之最后单词长度
给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: “Hello World”输出: 5 class Solution { public int lengthOfLastWord(String s) { if(s==...
2019-03-04 13:32:51
103
原创 算法之插入区间
给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例 1:输入: intervals = [[1,3],[6,9]], newInterval = [2,5]输出: [[1,5],[6,9]]示例 2:输入: intervals = [[1,2],[3,5],[6,7],[8,10],...
2019-03-04 13:02:44
512
原创 算法之合并区间
给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。思路:先进行...
2019-03-03 17:36:42
2586
原创 算法之跳跃游戏
给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最...
2019-03-01 12:55:49
579
原创 算法之螺旋矩阵
给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[[1, 2, 3, 4],[5, 6, 7, 8],[9,10,11,12]]输出: [1,2,3,4,8,1...
2019-03-01 12:34:03
884
原创 算法之最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。最简单做法:尝试所有地组合:class Solution { ...
2019-03-01 11:29:54
100
原创 算法之n皇后
n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例:输入: 4输出: [[&quot;.Q…&quot;, // 解法 1“…Q”,“Q…”,“…Q.”...
2019-03-01 02:04:26
131
转载 Android之File的getParent方法
String name = “AAAA.txt”;String lujing = “ab”+”/”+”abc”;//定义路径File a = new File(lujing,name);那么,a的意义就是“ab/abc/AAAA.txt”。为什么要有getParent方法的存在?首先,在Java当中,File 既可以表示成 文件(AAAA.txt文件)也可以表示为 文件夹(以AAAA.t...
2019-02-22 00:50:28
1443
转载 Android之跨平台的分隔符File.separator
为什么要有跨平台的分隔符?什么是跨平台的分隔符?不同平台下路径的分分隔符是不一样的,比如:在temp目录下建立一个test.txt文件,在Windows下应该这么写:File file1 = new File (“C:\tmp\test.txt”);在Linux下则是这样的:File file2 = new File ("/tmp/test.txt");如果考虑跨平台情况就写成...
2019-02-21 16:45:52
992
原创 算法之计算某个数的二进制有多少个1
注意到,当前的数n 和 n-1 来与的话就可以干掉一个1,比如 111 和110 与得到11–少了一个1;100 和 011与的话是0 ,直接干掉1个1了int n=3; int count=0; while (n>0){ count++; n=n&(n-1); }...
2019-02-18 12:20:38
303
2
原创 Android之帧动画
种类(1)Frame(帧动画),也叫drawable动画(2)View动画,也叫Tween(补间动画)(3)Propery 动画,属性动画什么是帧动画?短时间播放多张图片实现动画效果(就像放电影那样,一帧帧的)帧动画有哪些方法?通过AnimationDrawable生成addFrame:添加图片作为帧,并设定它播放的时间setOneShot:设置是否只是播放一次,否代表循环播放...
2019-02-16 23:59:23
94
原创 Java之Math.cell()、floor()、round( )
Math.ceil(x)执行向上舍入,即它总是将数值向上舍入为最接近的整数;(大于x的最小整数)Math.floor(x)执行向下舍入,即它总是将数值向下舍入为最接近的整数;(小于x的最大整数)Math.round(x)执行标准舍入,即它总是将数值四舍五入为最接近的整数(这也是我们在数学课上学到的舍入规则)。...
2019-02-16 20:02:12
4826
原创 Android之构建okhttp的拦截器
public final class HeaderInterceptor implements Interceptor { //创建一个拦截器 //这个拦截器负责给请求添加请求头的 @Override public Response intercept(Chain chain) throws IOException { Request origin...
2019-02-16 19:08:32
222
原创 算法之旋转图像
给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]示例 2:给定 matrix ...
2019-02-08 09:56:59
745
原创 算法之全排列
给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]每次都尝试 把一个元素加到队列class Solution { List&lt;List&lt;Integer&gt;&gt;res=new ArrayList&lt;Lis...
2019-02-05 11:02:46
98
原创 算法之跳跃游戏
给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明:假设你总是可以到达数组的最后一个位置。思路:...
2019-02-04 16:19:16
484
原创 算法之字符串相乘
给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = “2”, num2 = “3”输出: “6”示例 2:输入: num1 = “123”, num2 = “456”输出: “56088”说明:num1 和 num2 的长度小于110。num1 和 num2 只包含数字 0...
2019-02-01 14:12:01
217
原创 算法之接雨水
给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6思路: 先找出 可以构成左低右高 的区域获得......
2019-01-25 05:13:32
2745
原创 算法之寻找缺失的第一个整数
给定一个未排序的整数数组,找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1思路:用一个数组记录已经出现的整数(因为要找的是缺失的最小整数,那么该整数最大也就是 给定数组的长度+1, 比如[1,2,3],最小缺失整数为4,而[1,3,4]中是2 ,不可能...
2019-01-25 03:12:11
547
原创 java之ArrayList的使用总结
ArrayList作为参数传进去传的是地址还是形参?貌似是地址 List&lt;Integer&gt; one=new ArrayList&lt;&gt;(); one.add(1); res.add(one); one.add(2); chang(one); for(int i=0;i&lt;res.size();i+...
2019-01-25 02:17:54
125
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人