Android获取通讯录信息
Android获取通讯录信息权限申请自Android6.0以后,Android权限申请全部要求为动态申请(注:通讯录权限为危险权限),权限申请方法如下
首先设置权限组
123private String[] permisssions=new String[]{ Manifest.permission.READ_CONTACTS, }
然后进行权限的申请
1234public void getAppPermission(){ //获取权限 ActivityCompat.requestPermissions(MainActivity.this, permisssions, 1); }
信息的读取123456789101112131415161718192021222324public void getContacts(){ Cursor cursor; String data=""; if (ActivityCompat.c ...
超星章节内课件下载
超星章节内课件下载前言 一般来说,如果老师设置超星学习通章节内的ppt加密,那么ppt是无法下载的,超星不会提供下载接口,但是我们可以通过网络抓包的方式来截取到pdf(超星加密的ppt都是用pdf的形式发到客户端的),因此本问介绍两种方式来进行下载。
方法一,手动抓包这种方法的优势在于不需要下载任何软件就可以完成,但是缺点也很明显,对于非计算机专业的同学来说会很难上手,因为很多人对网站的结构和原理不是很了解。
本文以edge浏览器为例,其他浏览器也都可以。
第一步打开网页,按下f12进入开发者工具。
第二步点击网络,并刷新网页
第三步你会发现一个名称很奇怪的文件,文件类型为xhr
第四步点击该文件,查看相应预览
第五步复制里面pdf链接,然后访问即可,点击保存即可下载
方法二,用我的脚本首先下载安装Tempermonkey(方法请自行百度)
脚本地址:超星学习通章节内ppt下载 (greasyfork.org)
使用方法打开你要下载文档的章节页面,按下键盘上的D键,即可自动打开网页。
源码解析1234567891011121314151617181920212 ...
pagerank
PageRank算法的实现目标一 迭代法实现题目迭代法实现大规模PageRank,网页数量不低于10000
思路首先创建一个txt文件,里面储存各个点之间的关系,然后通过python语言读取,将其转化为矩阵,并通过公式将其转化为相应矩阵,然后进行迭代,直至误差小于 0.00000001结束。
原理
源代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859import numpy as npif __name__ == '__main__': file = open('input2.txt', 'r') edges_in = [] edges_out = [] while True: lines = file.readline().strip('\n') if not lines: ...
bloom
Bloom过滤器算法的实现题目采用Bloom过滤器设计一个邮件地址过滤器。要求:存储1000000个垃圾邮件地址,检测错误率小于0.00001,如果采用k=8个映射函数,则Bloom过滤器的最小长度是多少?
思路创建一个rubbish.txt文件储存垃圾邮件地址,垃圾邮件地址由程序自动生成,然后生成一个input.txt文件用于储存输入的邮箱地址,过滤后邮箱地址由output.txt储存。
使用python的bitarray来进行位操作,更加方便,主要是使用的空间少,如何使用numpy.array需要34GiB,电脑无法分配如此巨量的空间。然后使用开源的8种哈希函数进行散列,然后取最后N位,N为位的个数,进行下标设置1操作。
原理布隆过滤器的核心就是哈希函数,可以将其看作是对 bitmap 的拓展,通过将添加的元素经过 k 个哈希函数映射到一个很长的 bit 向量中的 k 个位置,并将它们置为 1。检索时,通过判断这个位置是否都为 1 就能大概知道集合中是否存在查询的元素。具体规则是:
如果这些位置中有任何一个位置为 0,那么被检索的元素一定不在
如果这些位置都是 1,那么被检索的 ...



