高精度算法
高精度算法高精度加法模版123456789101112131415161718192021222324252627282930313233#include<iostream>#include<vector>using namespace std;vector<int> add(vector<int>& A,vector<int>& B){ if(A.size()<B.size()) return add(B,A); vector<int> C; int t=0; for(int i=0;i<A.size();i++){ t+=A[i]; if(i<B.size()) t+=B[i]; C.push_back(t%10); t/=10; } if(t) C.push_back(t); return C;}int main(){ string a,b; vector<int> A,B; cin>>a&g ...
主题2 Shell工具和脚本
今日内容
正则表达式
教学目标
能够理解正则表达式的作用
能够使用正则表达式的字符类
能够使用正则表达式的逻辑运算符
能够使用正则表达式的预定义字符类
能够使用正则表达式的限定符
能够使用正则表达式的分组
能够在String的split方法中使用正则表达式
正则表达式1.1 正则表达式的概念及演示
在Java中,我们经常需要验证一些字符串,例如:年龄必须是2位的数字、用户名必须是8位长度而且只能包含大小写字母、数字等。正则表达式就是用来验证各种字符串的规则。它内部描述了一些规则,我们可以验证用户输入的字符串是否匹配这个规则。
先看一个不使用正则表达式验证的例子:下面的程序让用户输入一个QQ号码,我们要验证:
QQ号码必须是5–15位长度
而且必须全部是数字
而且首位不能为0
123456789101112131415161718192021222324252627282930313233343536373839package com.itheima.a08regexdemo;public class RegexDemo1 { public sta ...
快速排序与二分查找(蓝桥杯紧急抱佛脚!!)
快排模板
1234567891011121314151617181920212223242526272829#include<iostream>using namespace std;const int N=1E6+10;int n,q[N];void quick_sort(int q[],int l,int r){ if(l>=r) return; int x=q[(l+r)/2],i=l-1,j=r+1; while(i<j){ do i++;while(q[i]<x); do j--;while(q[j]>x); if(i<j) swap(q[i],q[j]); } quick_sort(q,l,j); quick_sort(q,j+1,r);}int main(){ scanf("%d",&n); for(int i=0;i<n;i++) scanf ...
面向对象进阶(static与继承)
今日内容
抽象类
接口
内部类
教学目标
能够写出抽象类的格式
能够写出抽象方法的格式
能说出抽象类的应用场景
写出定义接口的格式
写出实现接口的格式
说出接口中成员的特点
能说出接口的应用场景
能说出接口中为什么会出现带有方法体的方法
能完成适配器设计模式
第一章 抽象类1.1 概述1.1.1 抽象类引入 父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了(因为子类对象会调用自己重写的方法)。换句话说,父类可能知道子类应该有哪个功能,但是功能具体怎么实现父类是不清楚的(由子类自己决定),父类只需要提供一个没有方法体的定义即可,具体实现交给子类自己去实现。我们把没有方法体的方法称为抽象方法。Java语法规定,包含抽象方法的类就是抽象类。
抽象方法 : 没有方法体的方法。
抽象类:包含抽象方法的类。
1.2 abstract使用格式abstract是抽象的意思,用于修饰方法方法和类,修饰的方法是抽象方法,修饰的类是抽象类。
1.2.1 抽象方法使用abstract 关键字修饰方 ...
主题3 数据整理
数据整理您是否曾经有过这样的需求,将某种格式存储的数据转换成另外一种格式? 肯定有过,对吧! 这也正是我们这节课所要讲授的主要内容。具体来讲,我们需要不断地对数据进行处理,直到得到我们想要的最终结果。
在之前的课程中,其实我们已经接触到了一些数据整理的基本技术。可以这么说,每当您使用管道运算符的时候,其实就是在进行某种形式的数据整理。
例如这样一条命令 journalctl | grep -i intel,它会找到所有包含intel(不区分大小写)的系统日志。您可能并不认为这是数据整理,但是它确实将某种形式的数据(全部系统日志)转换成了另外一种形式的数据(仅包含intel的日志)。大多数情况下,数据整理需要您能够明确哪些工具可以被用来达成特定数据整理的目的,并且明白如何组合使用这些工具。(journalctl: journal control)
让我们从头讲起。既然是学习数据整理,那有两样东西自然是必不可少的:用来整理的数据以及相关的应用场景。日志处理通常是一个比较典型的使用场景,因为我们经常需要在日志中查找某些信息,这种情况下通读日志是不现实的。现在,让我们研究一下系统日志,看看哪些 ...
面向对象进阶(多态&包&final&权限修饰符&代码块)
day14今日内容
多态
包
final
权限修饰符
代码块
教学目标
能够说出使用多态的前提条件
理解多态的向上转型
理解多态的向下转型
能够知道多态的使用场景
包的作用
public和private权限修饰符的作用
描述final修饰的类的特点
描述final修饰的方法的特点
描述final修饰的变量的特点
第一章 多态1.1 多态的形式多态是继封装、继承之后,面向对象的第三大特性。
多态是出现在继承或者实现关系中的。
多态体现的格式:
12父类类型 变量名 = new 子类/实现类构造器;变量名.方法名();
多态的前提:有继承关系,子类对象是可以赋值给父类类型的变量。例如Animal是一个动物类型,而Cat是一个猫类型。Cat继承了Animal,Cat对象也是Animal类型,自然可以赋值给父类类型的变量。
1.2 多态的使用场景如果没有多态,在下图中register方法只能传递学生对象,其他的Teacher和administrator对象是无法传递给register方法方法的,在这种情况下,只能定义三个不同的regi ...