自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 LeetCode59. 螺旋矩阵2 (Java实现)

题目描述: 给定一个数nnn,生成一个以1~n2n^2n2的二维数组,数组中的元素按照顺时针旋转方式依次排放。如:给定数字n=3n=3n=3,生成的矩阵为:解题思路: 这个顺时针循环旋转的方式,其实就是每次从左至右放入元素,在从上至下放入最后一列元素, 之后,从右至左放入最后一行元素,再从下至上放入第一列元素,依次循环。...

2019-09-29 20:06:23 206

原创 LeetCode717.1比特与2比特字符(Java实现)

题目描述: 现有两种字符,第一种字符是1比特的可以用0表示,第二种字符是2比特的可以用10或11表示。现给出一个若干比特组成的字符串,问是否最后一位为1比特字符?如:给定 字符串 [1,1,1,0,0] 会返回 true, 11100可以分为11,10,0,给定 字符串 [1,1,1,0] 会返回 false,1110可以分为11,10,最后一位不是1比特字符。解题思路: 对于 字符串,如...

2019-09-25 15:15:57 172

原创 LeetCode590. N叉树的后序遍历(Java实现)

题目描述: 给定N叉树,输出其后序遍历序列。给定的N叉树节点类为:class Node { public int val; public List<Node> children; public Node() {} public Node(int _val,List<Node> _children) { val = _v...

2019-09-25 11:40:00 314

原创 01背包问题及优化(动态规划 java实现)

问题描述:现有一个容量为VVV的背包,以及nnn件物品,其分别占据的容量为cic_ici​ ,其分别带来的价值为wiw_iwi​,(i=1,2,...,ni={1,2,...,n}i=1,2,...,n)要求:这nnn件物品只能放入背包0次或1次(即,不放入或者放入)问:背包的最大价值为多少?使用动态规划进行求解:子问题定义状态:dp[i][j]dp[i][j]dp[i][j]表示 前...

2019-06-10 15:35:37 1607 4

原创 链表部分翻转(从第m个至第n个, Java实现)

给定一个单链表,要求输出从第n到第m个位置翻转后的链表。思路:使用头插法:例如,已知链表如图:定义三个指针:cur, curNext, curPre对这三个节点进行如下操作:curNext = cur.next;cur.next = curNext.next;curNext.next = curPre.next;curPre.next = curNext;经过该操作之后:...

2019-06-09 20:12:11 1810

原创 约瑟夫环 (输出每次删除数字,Java)

最近发现,约瑟夫环的笔试出镜率还挺高,总结一个时间复杂度为O(n),空间复杂度为O(n)的解法:例题:0,1,2,·······,n-1,这n个数字排成一个圆圈,从0开始,每次删除第m个数字,输出每一次删除的数字。代码如下:使用一个ArrayList类型变量list存储n个数字,定义一个变量k,每次求k = (k+m-1) % n 的值,之后输出list.remove(k),删除一个数后数...

2019-05-16 10:29:39 637

原创 单例模式初探

单例模式:是设计模式的一种,其中单例类指只能创建一个实例的类。饿汉(线程安全式写法)public class Singleton{ private static Singleton instance = new Singleton(); private Singleton(){ } public static Singleton getInstance(){ return inst...

2019-04-26 13:47:30 290

原创 TCP三次握手与四次挥手

本文结构如下:部分字段简介三次握手四次挥手部分字段简介:TCP(传输控制协议):是一种面向连接、可靠的传输层协议。在进行连接和释放连接时会用到TCP报文段首部中的以下字段:序列号:TCP为传输过程中的所有数据字节编号,初始化序列号为随机数。确认号:其中的内容是接收方期望下次收到的字节的编号(序列号)。此时说明接收方已经收到了该字节之前的所有字节。ACK标志:ACK=1表示确...

2019-04-24 19:50:44 114

原创 为什么使用HashMap时需要重写Key的equals()和hashCode()方法

之前说过HashMap内部结构是数组+链表+红黑树hashCode()方法:通过key计算其在数组上的索引时,会用到该方法。通过key.hashCode() 与自身的高16位异或得到hash(key),hash(key) & (数组容量-1)得到数组索引。equals()方法:在两个key:key1,key2的hash值相等时,通过判断key1==key2或 key1.equals...

2019-04-22 20:18:54 1109

翻译 HashMap 1.8 部分源码解读

HashMap 1.8 相比于 1.7 及之前, 将集合的结构变为:数组+链表+红黑树。 引入红黑树自然是为了提高查询效率。这里摘录部分源码进行分析:首先是开头注释部分,我觉得还是可以读一下的,这一部分大致总结了一下HashMap/** * Hash table based implementation of the <tt>Map</tt> interface. ...

2019-04-22 16:35:30 221

原创 String, new String 及 String.valueOf() 关于 == 的判定

话不多说,直接上代码吧:String s1 = "a";String s2 = "a";String s3 = new String("a");String s4 = new String("a");String s5 = String.valueOf("a");String s6 = String.valueOf("a");System.out.println(s1 == s2);...

2019-04-21 17:43:49 1934 3

原创 关于int,Integer 以及Integer.valueOf()的一点儿见解

今天遇到了关于比较由int,Integer 以及 Integer.valueOf()修饰的数值的比较问题,小小的总结一下。int 和 Integer 的关系:int 是基本数据类型的一种,而Integer是其包装类,从 int 到 Integer 称为装箱,反之,称为拆箱。为基本数据类型提供包装类的原因,我想是让基本数据类型的应用范围更为广泛吧,比如在用到泛型时,基本数据类型需要装箱才可使用...

2019-04-20 22:13:48 1054

原创 含有环的单链表的入环口求解

今天做到了这个题目,重温了下左神的方法,同时也和师兄讨论了下,为什么在第二次相遇时,就是其入环口。求解入环口的方法:快慢指针法(左神)步骤:设置两个指针一个快指针quick,一个慢指针slow(快指针一次走两步,慢指针一次走一步,如果他们能相遇则说明有环)相遇后,快指针重新回到头结点head,之后,两个结点一起前进,均一次走一步,再次相遇处则为入环口。代码public stati...

2019-04-19 23:14:49 121

原创 adb + strace + monkey 获取应用运行时的系统调用(最终结果写至txt文件)

简介adb、strace和monkeyadb(安卓调试桥) 全称为 Android Debug Bridge,是一个命令行工具。它起一个桥梁作用,将Android与PC打通,利用adb我们可以在PC端对Android系统进行操作。strace是Linux系统的一个调试分析工具,由于Android是基于Linux内核的,因此strace也可用于Android系统。其可以用于追踪应用程序运行时触发...

2019-02-28 19:31:46 1052 1

原创 批量获取与apk文件相对应的包名

本文记录如何利用aapt命令批量获取与apk文件相对应的包名。1. 配置aapt环境变量,aapt.exe存在于SDK–build-tools目录中。2. 编写批处理bat脚本getPackageName.bat,获取某一文件夹内所有apk的包名,输出至E:\软件样本库\apkpackagename.txt。getPackageName.bat内容如下(注两个连续冒号后为注释):@ech...

2019-02-24 23:43:51 1082

原创 利用strace工具获取Android应用的系统调用序列

项目需要获取android应用运行时的系统调用。之前想要通过编译内核来完成目标,但是太难了,在阅读文献中发现很多都是利用Strace工具进行追踪系统调用的,因此想要尝试一下看是否成功。首先,下载了Android Studio 3.2.0版本。...

2019-02-22 21:11:52 1790 2

空空如也

空空如也

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

TA关注的人

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