- 博客(22)
- 资源 (5)
- 问答 (2)
- 收藏
- 关注
原创 两道有意思的矩阵操作题
对矩阵操作总是有着一种执念,今天刷题又遇到两道有意思的矩阵题:LeetCode 54 Spiral Matrix 和 LeetCode 59 Spiral Matrix II。第一道题是这样的:Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spir
2017-04-10 00:02:51
792
原创 一道有意思的小题--图片翻转
今天在刷leetcode时偶遇一道比较有意思的小题:48. Rotate Image,图片翻转。题目的大概意思是,如果我们用一个n*n的二维矩阵来表示一个图片的话,我们如何将这个图片顺时针旋转90度。具体来说,是这样的:1 2 3 7 4 14 5 6 --->> 8 5 27 8 9 9 6 3在网上看了
2017-04-08 21:15:06
461
原创 FlowDroid获取APK的函数调用图
使用FlowDroid这种工具最糟心的就是看不懂的API文档和稀有的编程实例,事实上这个工具的功能很强大,但是工具的开发者并没有告诉用户如何去用。毕竟这个工具源自实验室,科研的产物大多缺乏工业产品式详细的应用指导。这篇博客和下一篇博客要介绍的是使用FlowDroid绘制APK的函数调用图(Call Graph)和每个函数的控制流图关于绘制dot图。这一篇博客先介绍获取函数调用图。和画图相关的有
2017-03-21 17:48:53
6841
26
原创 斐波那契数列的几种解法
一、前言今天偶然看到了一些关于斐波那契数列相关的问题,于是想总结一下斐波那契数列的各种解法。什么是斐波那契数列呢?在此不赘述,请看维基百科或者百度百科的解释。二、斐波那契数列的简单解法我们求斐波那契数列其实就是写一个函数,输入一个非负整数n,然后求这个数列的第n项,即Fn。看到递推公式我们可能想到的思路是递归。直接上代码:public int fibonacci
2017-03-21 12:18:52
3713
原创 FlowDroid 环境配置(mac OS)
FlowDroid环境配置(macOS)1 环境平台版本:mac OS 10.12.3 (16D32); MacBook Pro (Retina, 13-inch, Early 2015);2.7 GHz Intel Core i5; 8 GB 1867 MHz DDR3Eclipse版本:Eclipse Java EE IDE for WebDevelopers. Version:
2017-03-16 02:52:53
2640
1
转载 动态规划:从新手到专家
作者:Hawstein出处:http://hawstein.com/posts/dp-novice-to-advanced.html前言本文翻译自TopCoder上的一篇文章: Dynamic Programming: From novice to advanced ,并非严格逐字逐句翻译,其中加入了自己的一些理解。水平有限,还望指摘。前言_我们遇到的问
2017-02-20 11:29:05
521
转载 动态规划之背包问题(一)
作者:Hawstein出处:http://hawstein.com/posts/dp-knapsack.html一切都要从一则故事说起。话说有一哥们去森林里玩发现了一堆宝石,他数了数,一共有n个。 但他身上能装宝石的就只有一个背包,背包的容量为C。这哥们把n个宝石排成一排并编上号: 0,1,2,…,n-1。第i个宝石对应的体积和价值分别为V[i]和W[i] 。排好后这哥们开始思
2017-02-20 11:22:15
611
原创 数组逆置方法总结
参考自:http://www.cnblogs.com/tinaluo/p/5267779.html今天总结一下数组的逆置方法。这里列出两种方法,一种是循环迭代的方式:思路就是第一个和倒数第一个交换、第二个和倒数第二个交换...依次进行下去;另一种方式是递归:思路是设置首尾两指针,首指针每次递归加一,尾指针每次递归减一,当首尾指针相同时return,当首指针+1等于尾指针时交换首尾指针指向的元素,然
2017-02-16 22:23:06
6300
原创 在eclipse中使用git时出现"There are no stages files"错误
1. 问题今天想把eclipse中的项目同步到git上,于是试着在eclipse中配置git插件。我使用的是Eclipse Java EE IDE for Web Developers. Version: Mars.1 Release (4.5.1),具体怎么配置git插件的在此就不说了,网上有很多教程。在我配置好git之后,在commit项目的时候出现了一个错误:there ar
2016-11-20 20:14:33
1694
原创 一场由插入排序引发的血案--从sizeof看int型数组和int型指针的不同
1. 前言闲来无事想温习一下排序算法,于是从插入排序开始做,自己写了一段c程序来实现将一个数组按照从大到小的顺序排序,代码如下:void InsertionSort(int a[]){ int i=0,j=0,tmp=0; for(i = 1; i < (int)(sizeof(a)/sizeof(int)); ++i) { if(a[i] > a
2016-11-07 11:20:58
491
1
转载 理解 Thread.Sleep 函数
本文转载自 http://www.cnblogs.com/ILove/archive/2008/04/07/1140419.html 点击打开链接我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题:假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(10
2016-10-25 10:25:35
325
转载 java中volatile关键字的含义
本文转自http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机
2016-10-19 09:51:33
354
原创 MacBook pro下安装两种版本的jdk并切换
1. 问题 最近从Linux平台下转战Mac OS,在这个平台下配置android开发环境和android源码编译环境。从android open source project上的信息可以看出,编译android 5.x的源码需要jdk 1.7的环境。Java Development Kit (JDK)Please note, since there are no ava
2016-09-09 16:49:52
10917
2
转载 C语言随机数,如何生成既有正数又有负数的随机数呢
原文转自:http://zhidao.baidu.com/question/560968122001783204.htmlC语言生成的随机数为无符号数,即都是正的。要想生成正负随机的,可以先通过模除限定返回,再减去对应的范围的中间值即可。比如,要获取-1000~+1000范围的随机数,总的数量为2001个,这样就可以通过代码rand()%2001 使得到的结果限制在0-2000范围
2016-05-24 00:14:45
16404
2
原创 C语言生成随机可逆方阵
1.前言最近做并行计算作业的时候有一道题是让用并行的方式对一个矩阵求逆,这个实验的大致步骤是将一个写好的矩阵文件(一定格式)作为输入,使用一定的算法求出逆矩阵后再以文件的形式输出。因为在使用并行方式进行数值计算时,如果数据规模不够大,将很难体现并行方式的优越性,因此,拥有一个规模较大数据集就成为了这个实验成功的关键点之一。关于数据集这件事儿,大神们纷纷使用MATLAB造出了随机二维数组文件
2016-05-24 00:10:54
8192
转载 C语言文件操作详解
转自:http://www.cnblogs.com/likebeta/archive/2012/06/16/2551780.htmlC语言中没有输入输出语句,所有的输入输出功能都用 ANSI C提供的一组标准库函数来实现。文件操作标准库函数有: 文件的打开操作 fopen 打开一个文件 文件的关闭操作 fclose 关闭一个文件 文件的
2016-05-23 11:30:19
571
转载 apt-get出现E:Encountered a section with no Package: header……的解决方法
原文引自:http://www.2cto.com/os/201306/217545.htmlapt-get出现E:Encountered a section with no Package: header……的解决方法 E:Encountered a section with no Package: header, E:Problem with MergeList /var/lib/a
2016-05-13 17:08:42
693
原创 数据结构与算法实践 之 二分查找初识
今天起,我要对数据结构和基本的算法进行一些简单的复习,并在复习的基础上对其进行深入的挖掘。这篇文章先对二分查找进行一个简要的复习,在之后的文章中会对其进行深入的学习。 二分查找又叫折半查找,是最基本的几种查找算法之一。简单的看,二分法查找主要应用于在一个有序数列中进行元素的查找,其基本思路是,先用我们要查找的元素与这个有序数列中的中间位置的元素进行比较(在此我们姑且称这个元素为“中间
2016-05-10 23:11:39
1029
原创 Linux中后面带有波浪号的文件
今天在写代码的时候无意间发现,在使用vim编辑过某个文件之后,在该路径下会出现一个同名的、但是最后带一个波浪号的文件。身为强迫症的我看到这种文件的存在很是不舒服,可又不敢乱删文件,于是乎我查了一下这讨厌的波浪号文件究竟是干什么的:原来,这些结尾带波浪号的文件是文本编辑器在编辑文件时的备份文件!既然如此,那我就可以无所顾忌的删掉他们啦。可以使用rm命令来删除所有结尾带波浪号的文件
2016-05-09 16:26:58
9203
1
原创 Android源码编译之Nexus5真机编译
1. 前言在Android安全的研究工作中,我们时常要对Android进行改进并对其进行源码编译,由于目前几乎所有的手机厂商均对其底层驱动实行封闭政策,导致我们在完成Android编译后无法将我们编译好的系统刷到普通的Android手机上,因此在一般的科学实验中我们更多的是将修改好的android源码编译成模拟器,以模拟器的形式证明实验的成功与否。事实上,Android作为一款开放源代
2016-04-28 10:47:48
13793
5
原创 启动Tomcat服务器时遇到的一些坑
关于运行Tomcat时遇到的Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 以及the JRE_HOME environment variable is not defined correctly This environment variableis needed to run this program错误解决
2015-11-05 00:37:09
5978
原创 由一个误操作引起的对linux下mv命令的使用总结
今天在使用mv命令移动文件时出现了一个小错误,我的目的是将jdk-8u65-linux-x64.tar.gz文件移动到/home/lyh/java目录下,正确的命令应该是这样的:sudo mv jdk-8u65-linux-x64.tar.gz /home/lyh/java然而由于我的疏忽大意,把命令写成了这样:sudo mv jdk-8u65-linux-x64.tar.gz java
2015-10-22 20:48:02
17342
1
android_filesystem_config.h
2015-03-15
哪位大神知道Android中完整的permission的申请过程是什么样的?
2016-06-14
Android访问控制与权限管理
2014-11-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人