两道有意思的矩阵操作题 对矩阵操作总是有着一种执念,今天刷题又遇到两道有意思的矩阵题: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
一道有意思的小题--图片翻转 今天在刷leetcode时偶遇一道比较有意思的小题:48. Rotate Image,图片翻转。题目的大概意思是,如果我们用一个n*n的二维矩阵来表示一个图片的话,我们如何将这个图片顺时针旋转90度。具体来说,是这样的:1 2 3 7 4 14 5 6 --->> 8 5 27 8 9 9 6 3在网上看了
FlowDroid获取APK的函数调用图 使用FlowDroid这种工具最糟心的就是看不懂的API文档和稀有的编程实例,事实上这个工具的功能很强大,但是工具的开发者并没有告诉用户如何去用。毕竟这个工具源自实验室,科研的产物大多缺乏工业产品式详细的应用指导。这篇博客和下一篇博客要介绍的是使用FlowDroid绘制APK的函数调用图(Call Graph)和每个函数的控制流图关于绘制dot图。这一篇博客先介绍获取函数调用图。和画图相关的有
斐波那契数列的几种解法 一、前言今天偶然看到了一些关于斐波那契数列相关的问题,于是想总结一下斐波那契数列的各种解法。什么是斐波那契数列呢?在此不赘述,请看维基百科或者百度百科的解释。二、斐波那契数列的简单解法我们求斐波那契数列其实就是写一个函数,输入一个非负整数n,然后求这个数列的第n项,即Fn。看到递推公式我们可能想到的思路是递归。直接上代码:public int fibonacci
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:
动态规划:从新手到专家 作者:Hawstein出处:http://hawstein.com/posts/dp-novice-to-advanced.html前言本文翻译自TopCoder上的一篇文章: Dynamic Programming: From novice to advanced ,并非严格逐字逐句翻译,其中加入了自己的一些理解。水平有限,还望指摘。前言_我们遇到的问
动态规划之背包问题(一) 作者:Hawstein出处:http://hawstein.com/posts/dp-knapsack.html一切都要从一则故事说起。话说有一哥们去森林里玩发现了一堆宝石,他数了数,一共有n个。 但他身上能装宝石的就只有一个背包,背包的容量为C。这哥们把n个宝石排成一排并编上号: 0,1,2,…,n-1。第i个宝石对应的体积和价值分别为V[i]和W[i] 。排好后这哥们开始思
数组逆置方法总结 参考自:http://www.cnblogs.com/tinaluo/p/5267779.html今天总结一下数组的逆置方法。这里列出两种方法,一种是循环迭代的方式:思路就是第一个和倒数第一个交换、第二个和倒数第二个交换...依次进行下去;另一种方式是递归:思路是设置首尾两指针,首指针每次递归加一,尾指针每次递归减一,当首尾指针相同时return,当首指针+1等于尾指针时交换首尾指针指向的元素,然
在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
一场由插入排序引发的血案--从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
理解 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
java中volatile关键字的含义 本文转自http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机
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
C语言随机数,如何生成既有正数又有负数的随机数呢 原文转自:http://zhidao.baidu.com/question/560968122001783204.htmlC语言生成的随机数为无符号数,即都是正的。要想生成正负随机的,可以先通过模除限定返回,再减去对应的范围的中间值即可。比如,要获取-1000~+1000范围的随机数,总的数量为2001个,这样就可以通过代码rand()%2001 使得到的结果限制在0-2000范围
C语言生成随机可逆方阵 1.前言最近做并行计算作业的时候有一道题是让用并行的方式对一个矩阵求逆,这个实验的大致步骤是将一个写好的矩阵文件(一定格式)作为输入,使用一定的算法求出逆矩阵后再以文件的形式输出。因为在使用并行方式进行数值计算时,如果数据规模不够大,将很难体现并行方式的优越性,因此,拥有一个规模较大数据集就成为了这个实验成功的关键点之一。关于数据集这件事儿,大神们纷纷使用MATLAB造出了随机二维数组文件
C语言文件操作详解 转自:http://www.cnblogs.com/likebeta/archive/2012/06/16/2551780.htmlC语言中没有输入输出语句,所有的输入输出功能都用 ANSI C提供的一组标准库函数来实现。文件操作标准库函数有: 文件的打开操作 fopen 打开一个文件 文件的关闭操作 fclose 关闭一个文件 文件的