- 博客(151)
- 资源 (4)
- 收藏
- 关注

原创 PAT题型分类 & 记录汇总
这篇博客记录了我在跟着《算法笔记》以及习题册《算法笔记 上机实践指南》刷了PAT的题目之后的一些解题方法的总结与心得。第三章 入门模拟1. 简单模拟一般解题思路这一小节的题目只需根据题目描述(一般规则很简单),用代码实现即可;有些题目在用到一下知识点之后变得更简便。学到的知识点/和%运算符的强大作用数组下标映射打表循环问题的解题思路(left to r...
2017-02-17 09:47:09
13403
原创 Python os.path.join() 使用注意事项
os.path.join() 用来路径的合成。可传入多个路径。传入多个路径时,遵循以下规则:会从第一个以/开头的参数开始拼接,之前的参数全部丢弃;以上一种情况为先,在上一种情况确保情况下,若出现./开头的参数,会保留./前的所有参数;有多个以”/”开头的参数,从最后”/”开头的的开始往后拼接,之前的参数全部丢弃。import osprint("1:",os.path.join('...
2019-05-08 21:20:51
4121
转载 Android 设置ImageView中图片的显示方式
转载于 Android学习笔记:如何设置ImageView中图片的显示方式我们在用ImageView显示图片时,很多情况下图片的大小与ImageView的尺寸不是完全一样的。这时就涉及到该如何设置显示图片了。ImageView有个重要的属性是ScaleType,该属性用以表示显示图片的方式,共有很多种取值。另外也可以在xml文件中设置ImageView的android:scaleType...
2018-03-30 20:04:38
13626
原创 Python源文件打包:pyinstaller库的使用
PyInstaller是一个十分有用的第三方库,它能够在Windows、Linux、Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包,Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个独立文件方便传递和管理。安装:\>pip install pyinstallerpyinstaller官方网址PyInstaller 库...
2018-03-29 09:57:13
2773
1
原创 PAT-A 1022. Digital Library (30)
题目连接在此。题意: 给出n本书的信息(编号、书名、作者、关键字、出版社、出版年份),有m个一定格式的查询,如果在相应的书籍信息中找到了查询,则输出对应书的编号,否则输出“Not Found”。思路: 将书本的信息(除编号之外)用一个类(bookInfo)表示,然后用一个map<string,bookInfo> 变量tbl表示书的编号到书本信息的映射,之后其实就是一个模拟的...
2018-03-14 18:42:30
368
原创 PAT-A 1071. Speech Patterns (25)
题目连接在此。题意 “单词”的定义为大小写字母、数字的组合。给出一行字符串,求出出现次数最多的单词及其出现次数(一切除了大小写字母、数字之外的字符都作为单词的分隔符)。字母不区分大小写,且最后结果输出小写形式。思路 1. 用一个map<string,int>变量tbl存放每个单词出现的次数。 2. 在读入输入的字符串input后,对input进行枚举处理,如果是有效字符,...
2018-03-11 10:43:01
395
原创 PAT-A 1054. The Dominant Color (20)
题目连接在此。题意: 给出n行n列个数,求其中出现次数最多且超过所有数字个数一半的数字。 #include<iostream> #include<map> using namespace std; map<int,int> tbl; //map<a,b>表示数字a出现了b次 int ma...
2018-03-10 16:30:41
341
原创 PAT-B 1044. 火星数字(20)
题目连接在此。本题只需根据题意模拟即可: 打好两张表,分别是整数映射火星文、火星文映射整数,之后对输入进行处理,直接查表输出即可。需要注意的一点是:火星文中,十位不为0,个位为0时,只输出十位。#include<stdio.h>#include<map>#include<string>#include<iostream>#i...
2018-03-10 16:06:27
357
原创 Python 生成器(generator)的坑(把每一行看做一个list,试写一个generator,不断输出下一行的list)
生成器(generator)是一种“惰性”的算法生成器,比起列表生成式的一次性生成,他仅仅是将生成规则保存在生成器函数中(generator function),遇到next()计算并返回下一次的生成值,起到了节省内存空间的作用。最难理解的就是generator和函数的执行流程不一样。函数是顺序执行,遇到return语句或者最后一行函数语句就返回。而变成generator的函数,在每次调用ne
2018-01-28 11:30:21
6216
4
原创 Python 切片:利用切片操作,实现一个trim()函数,去除字符串首尾的空格
需求: Python 切片:利用切片操作,实现一个trim()函数,去除字符串首尾的空格,不调用str的strip()方法。在很多编程语言中,针对字符串提供了很多各种截取函数(例如,substring),其实目的就是对字符串切片。Python没有针对字符串的截取函数,只需要切片一个操作就可以完成各种截取操作,非常方便。要去除首尾的空格,只需要从头到尾、从尾到头各扫描一次,记录两端需要截取...
2018-01-26 17:26:47
10150
1
原创 Python turtle库绘制七段数码管
数码管简介数码管是一种半导体发光器件,数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个用于显示小数点的发光二极管单元DP(decimal point)。它价格便宜、使用简单,通过对其不同的管脚输入相对的电流,使其发亮,从而显示出数字能够显示 时间、日期、温度等所有可用数字表示的参数的器件。在电器特别是家电领域应用极为广泛,如显示屏、空调、热水器、冰箱等等。绘
2018-01-24 16:49:34
15887
2
原创 利用蒙特卡洛(Monte Carlo)方法计算π值
圆周率π是一个无理数,没有任何一个精确公式能够计算π值,π的计算只能采用近似算法。国际公认的π值计算采用蒙特卡洛方法。蒙特卡洛方法蒙特卡洛(Monte Carlo)方法,又称随机抽样或统计试验方法。当所求解的问题是某种事件出现的概率,或某随机变量的期望值时,可以通过某种“试验”方法求解。简单说,蒙特卡洛是利用随机试验求解问题的方法。π值的计算构造一个单位正方形和一个单位
2018-01-21 16:33:54
18852
原创 PAT-A 1060. Are They Equal (25)
一道字符串处理的题。这题借助STL中的string处理起来要便利一些。 string有以下几点值得关注的地方:获取字符串长度的size()/length()方法的时间复杂度为O(1)string::npos 是一个常数,本身的值为-1。由于是unsigned_int类型,因此实际上也可以认为是unsigned_int类型的最大值。它作为find()函数失配时的返回值。题目链
2018-01-19 16:03:14
344
原创 PAT-A 1063. Set Similarity (25)
一道STL(set)的练习题。set翻译为集合,是一个内部自动有序且不含重复元素的容器,这是set非常重要的特性,要在实际问题中充分利用之。除此之外,值得注意的是,set的基本操作:insert()、find()等一些操作的时间复杂度为O(logN)。题目链接在此。题意给出N个集合,然后有K个查询,给出每个查询的Set Similarity,即(Nc/Nt)*100.0
2018-01-15 19:35:13
390
原创 PAT-A 1047. Student List for Course (25)
题目链接在此。同样是一道STL(vector)的练习题。 先看看这个题:PAT-A 1039. Course List for Student (25) 看题目就应该知道这两题是镜像题目。由上一题的结论可知,这一题应该以课程为主体。 在上一题的基础上,这题就变得十分简单了,直接看代码把。#include#include#include#includeusing na
2018-01-14 20:57:04
525
2
原创 字符串hash算法
本篇博客主要记录了 字符串hash 的相关算法,包括: 1. 字符串hash初步 2. 字符串hash进阶(还不一定什么时候写,初步的内容在大部分情况下是够用的)概述散列(hash)是一种常用的算法思想,是一种典型的以空间换时间的做法。 对于整数型的散列算法在一般的数据结构课程或书籍中都会教授,这两个名词不知道是否会激起您的一些记忆:散列函数、冲突。这篇博客不讨论散列函数的构
2018-01-14 11:47:51
1309
原创 PAT-A 1039. Course List for Student (25)
一道STL(vector)的练习题。题目链接在此。题意有N名学生,K门课程,给出每门课程的选课学生。然后有N个查询,每个查询是某位学生的名字,要求输出每个查询的学生一共选了多少门课,以及每门课的编号。(当然输入、输出都是有限制的)思路及实现我想到的是两种思路:第一种: 以课程为主体,将选择这门课的学生的名字加入到该门课程的学生列表中。第二种: 以学生为主体,
2018-01-14 11:15:38
440
1
原创 大整数运算
本篇博客记录大整数运算相关问题。 包括: 1. 大整数的存储 2. 大整数的四则运算1 大整数的存储大整数又叫高精度数,一般指其范围已经超出了基本数据类型能够表示的范围的数。 很容易想到,对于高进度数我们需要用数组来存储。有以下几点注意事项: 1. 顺位存储 如123,我们这么保存:num[0] = 3, num[1] = 2, num[2] = 1,即整数的高位保存在数组...
2018-01-12 10:02:51
1281
原创 PAT-A 1024. Palindromic Number (25)
题目连接在此。一道大整数加法+简单模拟题。大整数运算相关内容,请看这里。题意定义一种操作:让一个整数加上这个整数转置后的数。(例如123,转置后为321,两数相加123+321=444) 现在给出一个整数以及限制的操作次数,问在限定次数内是否能够得到回文数(上例中的444就是回文数)。如果在限定次数内能得到,输出这个回文数,并输出操作次数;如果在限定的操作次数内不能得到回文数,则
2018-01-11 21:55:22
633
原创 PAT-A 1023. Have Fun with Numbers (20)
一道高精度加法(/乘法)+HashTable的题。题目连接在此。大整数运算相关内容,请看这里。题意给出一个长度不超过20的整数,问这个数翻倍后的数位是否为原数数位的一个排列。如样例: 原数:1234567899(1~8出现一次,9出现2次) 翻倍之后: 2469135798(1~8出现一次,9出现2次) 故倍数数位是原数的数位的一个全排列。解题思路先进行高进
2018-01-08 19:01:46
458
原创 PAT-B 1017. A除以B (20)
题目连接在此。简单的高精度除法。 大整数运算相关内容,请看这里。下面是AC代码:#include#includeusing namespace std;struct bign{ //big number 大整数 int num[1005]; int len; bign(){ memset(num, 0, sizeof(num));
2018-01-08 16:34:19
507
原创 Android 小问题汇总
本篇博客用于记录在Android开发中遇到的一些细小问题。由于每个问题都是细小而零碎的,所以记录在一篇博客中方便日后查找。字符串处理\n在TextView不正常显示换行拿到了后台的Json数据,对Json数据进行处理后TextView无法将\n显示为换行,解决办法:messageView.setText(message.replace("\\n", "\n"));...
2017-10-04 14:19:14
1043
原创 PAT-A 1096. Consecutive Factors (20)
明白一点:N不会被除自己以外的大于sqrt(N)的整数整除。暴力求解即可。
2017-04-02 17:02:08
519
原创 质因子分解
这篇记录《算法笔记》中质因子分解的相关内容,包括: 1. 质因子分解 2. 求一个正整数N的因子个数 3. 求一个正整数N的所有因子的和
2017-04-02 16:00:04
1482
原创 PAT-A 1078. Hashing (25)
给出表长m和要插入的元素个数n,以及n个要插入的元素,讲这些元素按照顺序插入散列表中,其中散列函数为H(key) = key%m,解决冲突的策略采用正想增加的二次探测法。 若给出的表长m不是素数,则将m重新复制为第一个比m大的素数作为表长。
2017-03-29 19:18:55
476
原创 PAT-A 1015. Reversible Primes (20)
给出正整数N进制Radix,若N是素数,且N在Radix进制下反转后的数在十进制下也是素数,则输出Yes,否则输出No。
2017-03-29 19:07:54
491
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人