自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Python学习笔记】第二章——变量和数据类型

PS:学习书籍为《Python编程:从入门到实践》。本文章仅作为自己的学习笔记。因为我之前学过C/C++,有一定的基础,所以本文章只记录Python下自己不太熟悉的东西。看到的朋友不建议将此作为原书内容的概述哈~文章目录一、字符串一、字符串title():以首字母大写显示每个单词name = "jack lee"print(name.title())#运行结果:Jack Leeupper():将字符串改为全部大写lower():将字符串改为全部小写lstrip():剔除字符

2021-07-25 14:16:57 90 1

原创 【算法笔记】第二章——C/C++快速入门笔记

1

2021-07-23 20:22:10 339

原创 【PAT笔记】B1010:一元多项式求导

文章目录一、题目二、解题思路1.测试数据中的坑2.代码一、题目https://pintia.cn/problem-sets/994805260223102976/problems/994805313708867584二、解题思路1.测试数据中的坑其实这题很简单,个人认为没有必要使用官方题解中开辟数组并遍历的方法来做。输入每一组系数和指数的同时,直接向输出结果即可。但测试数据中有两个坑需要注意:一个是什么都不输入,直接按下回车时,表示这是一个零多项式,应该输出“0 0”;另一个是已经输入了合.

2021-07-19 12:09:06 142

原创 【PAT笔记】B1008:数组元素循环右移问题

文章目录一、题目二、解题思路1.倒置法一、题目https://pintia.cn/problemsets/994805260223102976/problems/994805316250615808题目难点在于不能使用另外的数组,并考虑移动数据的次数尽量少。书上P12的方法过于讨巧,无意义。书中5.2节介绍的最大公约数法有点难理解,暂时放弃。于是使用倒置法解决。二、解题思路1.倒置法思路:写一个reverseArray函数,将数组内划定范围的元素倒置。令右移量为move,数组总长为l.

2021-07-17 20:24:39 126

原创 【JAVA学习笔记】数值类型之间的转换+强制类型转换

文章目录一、数值之间的转换二、强制类型转换1.截断浮点数2.对浮点数进行舍入运算3.警告一、数值之间的转换在程序运行时,经常需要将一种数值类型转换为另一种数值类型。下图给出了数值类型之间的合法转换。实心箭头表示无信息丢失的转换,虚箭头表示可能有精度损失的转换。当使用上面两个数值进行二元运算时(例如n+f,n是整数,f是浮点数),先要将两个操作数转换为同一类型,再进行计算。如果两个操作数中有一个是double类型,另一个操作数就会转换为double类型。否则,如果其中一个操作数是float类.

2021-07-04 17:18:29 352

原创 【C++学习纪录】常用查找算法

一、概述find //查找元素find_if //按条件查找元素adjacent_find //查找相邻重复元素binary_search //二分查找count //统计元素个数count_if //按条件统计元素个数二、find ( iterator beg, iterator end, value)// 按值查找元素,找到即返回指定位置迭代器,找不到返回end()// beg开始迭代器, end结束迭代器, value是待查找元素#include<iostream>

2020-08-01 07:17:04 112

原创 【C++学习纪录】常用遍历算法

一、算法概述算法头文件主要是由< algorithm> < functional> < numeric>组成< functional> 定义了一些模板类,用以声明函数对象< numeric>体积很小,只包括几个序列上面进行简单数学运算的模板函数< algorithm>是所有STL头文件中最大的一个,范围涉及到比较、交换、查找、遍历操作、复制、修改等。二、常用遍历算法1、for_each ( iterator beg, i

2020-08-01 06:15:20 130

原创 【C++学习纪录】内建函数对象——逻辑仿函数

template< class T> bool logical_and< T> //逻辑与template< class T> bool logical_or< T> //逻辑或template< class T> bool logical_note< T> //逻辑非#include<iostream>#include<functional>#include<vector>#incl.

2020-07-31 15:42:55 130

原创 【C++学习纪录】内建函数对象——关系仿函数

函数原型:template< class T> bool equal_to< T> //等于template< class T> bool not_equal< T> //不等于template< class T> bool greater< T> //大于template< class T> bool greater_equal< T> //大于等于template< class T>

2020-07-31 15:31:21 117

原创 【C++学习纪录】内建函数对象——算术仿函数

在使用内建对象之前,需要引入头文件#include< functional>算术仿函数的原型有:template

2020-07-31 15:04:41 270

原创 【C++学习纪录】map容器基础

map/multimap容器中所有的元素都是pair,即对组。pair中的第一个值为key值,第二个值为value实值。所有元素都会根据key值进行默认的升序排序。map容器的优点在于可以根据key值快速地找到value值。在map容器中,不允许有重复的key值;而在multimap中是允许的。一、基本语法#include<iostream>#include<map>using namespace std;int main(){ //第一种常用构造方法

2020-07-30 23:25:12 131

原创 【C++学习纪录】set容器——使用仿函数改变排序

set容器默认是以升序方式对数据进行排序。若要改变它的排序方式,应在创建容器变量时使用仿函数。一、简单地对数据进行降序排序#include<iostream>#include<set>using namespace std;//写仿函数,重载括号运算符,放在类中。class temp{ public: //注意,是bool类型 bool operator()(const int num1, const int num2) {

2020-07-30 20:54:22 1171 6

原创 【C++学习纪录】set容器——基本概念 & 插入函数 & 计数函数

一、set容器和multiset容器都会在数据插入时对数据进行排序,底层是二叉树结构。使用二者前需include同一个头文件< set >二、set容器不允许重复的数据出现,而multiset容器允许。三、向set容器和multiset容器中插入数据使用的是类的成员函数insert()其中,两种容器insert函数返回值不相同。#include<iostream>#include<set>using namespace std;int main(){

2020-07-30 20:27:48 837

原创 【C++学习纪录】pair对组的创建

在出现成对出现的数据时,可以利用pair对组实现两个数据的返回。两种创建方式:一、 pair<type, type> p (value, value)二、pair<type, type> p = make_pair(value, value)#include<iostream>#include<string>using namespace std;int main(){ //方法一 pair<int, string&gt

2020-07-30 19:57:08 151

原创 【C++学习纪录】list容器——迭代器 & 反转 & 排序

一、list容器的迭代器1、list容器的迭代器是不支持随机访问的。它是双向迭代器。2、这意味着:假设p1、p2是list迭代器,p1++、++p1、p1–、--p1、p1 == p2这样的操作是合法的,而p1 += num不合法。3、若p是一个list容器,通过p[num]的方式访问数据是不合法的。二、reverse( ) 反转函数#include<iostream>#include<list>using namespace std;void printList(

2020-07-30 16:12:36 546

原创 【C++学习纪录】vector函数——预留空间

可使用reserve(int len)函数为容器预留len个元素长度,这样做可减少vector在动态扩展容量时的扩展次数。预留位置不初始化,元素不可访问。#include<iostream>using namespace std;#include<vector>int main(){ vector<int> v; v.reserve(10); cout << "capacity: " << v.capacity

2020-07-28 20:24:06 267

原创 【C++学习纪录】vector容器——利用swap函数缩小空间

容器互换函数swap(vec)用于实现两个容器内的元素进行互换一、普通用法#include<iostream>using namespace std;#include<vector>void printVector(vector<int> &v) { for (vector<int>::iterator it = v.begin(); it != v.end(); it++) { cout <<

2020-07-28 20:18:47 285

原创 【C++学习纪录】vector容器——数据的存取

1、at(int index) 返回索引index所指的数据2、operator[ ] 返回索引index所指的数据3、front() 返回容器中第一个数据元素4、back() 返回容器中最后一个数据元素#include<iostream>using namespace std;#include<vector>void printVector(vector<int> &v) { for (vector<int>::iterat

2020-07-28 19:50:21 519

原创 【C++学习纪录】vector容器——插入和删除

1、push_back(elem) 尾部插入元素elem2、pop_back() 删除最后一个元素3、insert(const_iterator pos, elem) 向迭代器指向的位置插入elem4、insert(const_iterator pos, int count, elem) 向迭代器指向位置插入count个elem5、erase(const_iterator pos) 删除迭代器指向的元素6、erase(const_iterator start, const_iterator end

2020-07-28 18:24:48 247

原创 【C++学习纪录】vector容器——容量与大小

1、empty() 判断容器是否为空。为空返回真,不为空返回假。2、capacity() 返回容器的容量3、size() 返回容器中元素的个数。元素个数不一定等于容器容量。4、resize(int num) 重新指定容器的长度为num。若容器变长,以默认值0填充新位置。如果容器变短,则末尾超出容器长度的元素被删除。5、resize(int num, elem) 重新指定容器的长度为num。若容器变长,以elem值填充新位置。如果容器变短,则末尾超出容器长度的元素被删除。...

2020-07-28 18:03:39 659

原创 【C++学习纪录】vector容器——构造函数&赋值操作

1、vector v; 采用模板类实现,无参构造2、vector(v.begin(), v.end()); 将v[begin(), end())区间的元素拷贝3、vector(n, elem) 将n个elem拷贝给本身4、vector(const vector &vec) 拷贝构造函数#include<iostream>using namespace std;#include<vector>void printVector(vector<int> &

2020-07-28 15:25:03 260

原创 【C++学习纪录】string容器——截取子串

函数原型:string substr(int pos, int n) const 返回由pos开始的n个字符组成的字符串一、简单截取#include<iostream>using namespace std;#include<string>int main(){ string str("hello world"); string temp = str.substr(6, 5); cout << temp << endl;

2020-07-28 14:57:19 2867

原创 【C++学习纪录】string容器——插入和删除

1、string &insert(int pos, const char *s) 插入字符串2、string &insert(int pos, const string &str) 插入字符串3、string &insert(int pos, int n, char c) 在指定位置插入n个字符c4、string &erase(int pos, int n) 删除从pos开始的n个字符一、插入字符串#include<iostream>using

2020-07-28 14:44:16 190

原创 【C++学习纪录】string容器——字符存取与修改

在string容器中,字符存取和修改有两种方法:1、char &operator[ ] (int n) 通过[ ]方式取字符2、char &at(int n) 通过at函数获取字符一、获取字符:#include<iostream>using namespace std;#include<string>int main(){ string str("hello world"); //第一种方式 cout << str[

2020-07-28 14:28:24 127

原创 【C++学习纪录】string容器——字符串比较

1、int compare(const string &s) const 与字符串s作比较2、int compare(const char *s) const 与字符串s作比较一、当两个字符串相等时,输出0.#include<iostream>using namespace std;#include<string>int main(){ string str1("hello world"); string str2("hello world");

2020-07-28 14:16:36 156

原创 【C++学习纪录】string容器——替换

string& replace(int pos, int n, const string &str) 替换从pos开始的n个字符为strstring& repalce(int pos, int n, char *s) 替换从pos开始的n个字符为字符串s一、string& replace(int pos, int n, const string &str) 替换从pos开始的n个字符为str#include<iostream>#include&.

2020-07-27 23:02:05 89

原创 【C++学习纪录】string容器——查找

1、int find(const string &str, int pos = 0) const 查找str第一次出现位置,从pos开始查找2、int find(const char *s, int pos = 0) const 查找s第一次出现位置,从pos开始查找3、int find(const char *s, int pos, int n) const 从pos位置查找s的前n个字符第一次位置4、int find(const char c, int pos = 0) const 从po

2020-07-27 21:34:28 203

原创 【C++学习纪录】string容器——字符串的拼接

string字符串的拼接1、string &operator+=(const char *str) 重载+=操作符2、string &operator+=(const char c) 重载+=操作符3、string &operator+=(const string &str) 重载+=操作符4、string &append(const char *s) 把字符串s连接到当前字符串末尾5、string &append(const char *s, in

2020-07-27 21:06:33 727

原创 【C++学习纪录】string容器——赋值操作

string赋值操作1、string& operator=(const char* s) char类型字符串赋值给当前字符串2、string& operator=(const string& s) string类型字符串赋值给当前字符串3、string& operator=(char c) 把一个字符c赋值给当前字符串4、string& assign(const char s) char类型字符串赋值给当前字符串5、string& assign(co

2020-07-27 20:30:39 445

原创 【C++学习纪录】string容器——简单的构造函数

简单介绍四种string构造函数:1、string() 创建一个空的字符串2、string(const char* s) 使用字符串s初始化3、string(const string& str) 使用一个string对象初始化另一个string对象4、string(int n, char c) 使用n个字符c初始化一、string() 创建一个空的字符串略二、string(const char* s) 使用字符串s初始化#include<iostream>using n

2020-07-27 20:10:12 116

原创 【大一下oj作业】实验11_11_链表匹配

哇…这题真的是好坑,怎么改都是90分…感谢助教的提示,要不然真的耗不出来……原来自己的做法是从上一次匹配失败的地方直接重新开始匹配,感觉没有什么问题…结果漏了很难想到的一种情况(当然只是我自己难想到而已),如果是输入:abbcabbcabbbabbcabbb那么按照原来的做法,将在A列的第二个c处暂停匹配,并从c的下一个字母a进行匹配,将无法得到正确答案;而实际上B是A的子列。原来的做法...

2020-07-27 19:51:56 965 1

原创 【C++学习纪录】读文件的四种方式

#include<iostream>using namespace std;#include<string>#include<fstream>int main(){ fstream ifs; ifs.open("text.txt", ios::in); //判断文件是否打开成功 if(!ifs.is_open()) { cout << "Failed!" << endl;

2020-07-27 19:51:47 171

原创 【C++学习纪录】二进制方式读文件、写文件

#include<iostream>#include<string>#include<fstream>using namespace std;class person{ public: string name; int years;};int main(){ //二进制写文件 fstream ofs("test.txt", ios::out | ios::binary); if(!ofs.is_

2020-07-27 19:51:40 58

原创 【C++学习纪录】vector容器——容器中嵌套容器

//vector容器中嵌套容器#include<iostream>using namespace std;#include<vector>int main(){ //创建vector容器 vector<vector<int>> temp; vector<int> temp1; vector<int> temp2; vector<int> temp3; //向vecto

2020-07-27 19:51:33 832 1

原创 【C++学习纪录】构造函数中的深拷贝与浅拷贝的问题

在C++中创建一个类时,默认情况下,编译器会自动调用构造函数和析构函数。其中,构造函数包括默认构造函数(无参)、有参构造函数和拷贝构造函数。在调用拷贝构造函数时,可能会遇到深拷贝与浅拷贝问题。拷贝构造函数默认为浅拷贝,即仅仅将传入的对象的内容简单地复制到新创建的对象上。因此,浅拷贝的问题在于:如果我们在写类时将一块内存开辟在堆区,并在析构函数中写了程序运行结束后即释放它的代码,浅拷贝时就可能会有多个对象中的指针变量指向同一片区域。而每一个对象在函数运行结束后都会被析构函数所清除,此时因为每次调用析构函数

2020-07-12 20:19:58 142

原创 No.2——洛谷新手村P1028 数的计算

QAQ…感觉这题有点难,记录一下吧。(自己好像对递归很懵…)原先按自己的做法,老老实实用了递归,只过了5个数据点,其他全部都TLE了。做法应该是对的,但是自己太菜了不知道怎么优化算法…最后干脆看题解了。原先自己的做法//问题的本质是一个数不超过它一半的数有多少个#include<stdio.h> long long function(int num);int main()...

2020-02-20 18:20:42 105

原创 No.1——洛谷新手村数字反转(升级版)P1553

这是自己的第一篇博客。留给自己做个纪念吧。因为是洛谷的题,肯定有很多大神写了更简单的解法,我这个不够简洁应该没人会看到…自己刚入门确实比较菜,要学习的还有很多。打算把C++学完了再重新刷一遍新手村,也能更好地理解大佬们的题解。这题昨天下午敲了一小时,运行时发现连输出都没有…今早索性全部推倒重来,多写了几个函数。这题确实有一些坑,需要细心地注意0在整数部分和小数部分不同位置的各种情况。第一次提...

2020-02-20 18:20:31 189

空空如也

空空如也

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

TA关注的人

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