18.10.10 数算作业-字符串

题目内容: 老师给小学生门布置了一些作业,让它们按照一个模版写一些字符串交上来, 同学们把作业交上来了,问题来了,这么多的作业老师批改不过来,现在请你帮老师 写一个程序,帮助老师确定各个字符串是否合格。 首先老师有一个匹配模版,比如是“aa[123]bb”这一个字符串,同学们交的各种 作业字符串如aa1bb、aa2bb、aa3bb都算是正确匹配看,而aacbb就是错误的字符串。 (即待查字符串对应于模版方括号内的部分,应该为方括号内字符串的一个子字符)。 我们需要做的就是按照模版,找出正确的字
分类: 其他 发布时间: 10-10 23:06 阅读次数: 0

面向对象(OOP)三

一、面向对象基础原则   1)单一职责原则(类要写得小而精,低耦合) 内部类 单列模式     对于单一职责原则,其核心思想为:一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职 责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。职责过多,可能引起它变化的原因就越多,这将导致职责依赖,相互之间就产生影响,从而大大损 伤其内聚性和耦合度。通常意义下的单一职责,就是指只有一种单一功能,不要为类实现过多的功能点,以保证实体只有一个引
分类: 其他 发布时间: 10-10 23:06 阅读次数: 0

luogu1357花园(矩阵运算)(状压DP)

不得不说本蒻做这个题目的时候内心是很蒙蔽的qwq 推了规律找错了结果还没有暴力的分数高qwq...... 开数组\(f[i][j]\)来记录前i个花圃,(这里运用到状压的思想)其中最近的m个的状态(二进制,1表示C,0表示P),然后因为这个状态是可以递推下一个状态的(比如说1~m到2~m+1),然后我们发现每一次的状态转移都可以用同一个矩阵实现,那么该题目就可以用矩阵快速幂来加速计算。因为题目中是一个环状,那么转换n次一定还是原先的状态。那么题目就转换成了一个合法状态(这个需要预先判断出来)转
分类: 其他 发布时间: 10-10 23:06 阅读次数: 0

【转】Asp.Net Core2.0获取客户IP地址,及解决发布到Ubuntu服务器获取不到正确IP解决办法

1、获取客户端IP地址实现方法(扩展类) using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc.ModelBinding; using System.Collections.Generic; using System.Linq; namespace WebApi.Controllers { /// <summary> /// 扩展类 /// </summary> public stati
分类: 其他 发布时间: 10-10 23:06 阅读次数: 0

VR一体机如何退出FFBM(QFIL)

前文介绍了通过fastboot命令擦除misc分区,从而退出FFBM的方法。这个方法比较简便,但有不灵的时候,fastboot erase misc命令执行失败,如下图所示。 erasing 'misc'... FAILED (remote: unknown command) finished. total time: 0.001s fastboot擦除misc分区的方法不灵,就只能用QFIL神器了,QFIL是高通提供的刷机工具。首先让VR一体机进入紧急下载模式(EDL),方法有两种。如adb
分类: 其他 发布时间: 10-10 23:06 阅读次数: 0

webpack4 系列教程(十一):字体文件处理

教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步《webpack4 系列教程(十一):字体文件处理》原文地址。或者来我的小站看更多内容:godbmw.com 0. 课程介绍和资料 >>>本节课源码 >>>所有课程源码 本节课的代码目录如下: 本节课的package.json内容如下: { "devDependencies": { "css-loader": "^1.0.0", "extract-text-webpack-plugin": "^4.0.0-b
分类: 其他 发布时间: 10-10 23:06 阅读次数: 0

颠倒栈

声明:本片文章为阅读何海涛网易日志后,自己用java实现后的学习总结。 何海涛日志:http://zhedahht.blog.163.com/blog/static/25411174200943182411790/ 题目:用递归颠倒一个栈。例如输入栈{1, 2, 3, 4, 5},1在栈顶。颠倒之后的栈为{5, 4, 3, 2, 1},5处在栈顶。 我的思路:要用递归颠倒一个栈,则我
分类: 其他 发布时间: 10-10 23:06 阅读次数: 0

输出1到最大的N位数

声明:本片文章为阅读何海涛网易日志后,自己用java实现后的学习总结。 何海涛网易日志:http://zhedahht.blog.163.com/blog/static/2541117420094279426862/ 题目:输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999。 思路:首先直接用int或者long进行循环显然不切实际,如果
分类: 其他 发布时间: 10-10 23:06 阅读次数: 0

两链表的第一个公共结点

声明:本片文章为阅读何海涛网易日志后,自己用java实现后的学习总结。 何海涛日志:http://zhedahht.blog.163.com/blog/static/254111742008053169567/ 题目:两个单向链表,找出它们的第一个公共结点。 思路:两个单向链表,如果存在公共节点,则两个链表会呈现 Y 形状,所以两个链表最后一个节点肯定是公共节点。 可以找到两个链表的最后节
分类: 其他 发布时间: 10-10 23:05 阅读次数: 0

从尾到头输出链表

声明:本片文章为阅读何海涛网易日志后,自己用java实现后的学习总结。 何海涛日志:http://zhedahht.blog.163.com/blog/static/2541117420079237185699/ 题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值。 思路:方法一:递归输出。     方法二:维护一个栈,先全部进栈,再依次出栈输出。     方法三:先将链表反
分类: 其他 发布时间: 10-10 23:05 阅读次数: 0

leetcode11:Container With Most Water

题目:给出一个非负整数数组,数组中的数代表一个栏杆,寻找两个栏杆和x轴形成一个水池,找出能装水最多的两个栏杆。   假如给出的例子是height = {1,2,3,4,5,6,7,8,9},则height[4]=5,height[8]=9,则形成的水池是(9-5)*5=20 思路:先用两个指针,一个low一个hight,一个指向数组开头,一个指向数组结尾,则我们要找的两个栏杆肯定在这两
分类: 其他 发布时间: 10-10 23:04 阅读次数: 0

Leetcode39:Combination Sum

题目:给定一个整型数组candidates,和一个目标值target,使用数组中的数组成target,找出所有的组合。例如: candidates = {2,3,6,7}; target =7 ; 则返回的结果为:[[7],[2,2,3]] 。 题目说明,candidates中的数字全为正数,target也全为正数。 并且返回的结果中candidates中的数可以是重复的,而且不限次数的重复。但每
分类: 其他 发布时间: 10-10 23:04 阅读次数: 0

leetcode90:Subsets II

题目:求数组的各种组合,数组中可能存在重复的数字,但是求出来的所有组合中不能有重复的组合。 代码: import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * 题目:求一个数组nums的所有组合,nums中可能有重复的数字。但是求得的组合不能有相同的组合。 * 例如:nums = [1,
分类: 其他 发布时间: 10-10 23:04 阅读次数: 0

leetcode229. Majority Element II

/**  * 题目:如果数组数组中有一个数超过三分之一,则称为主数,现在寻找数组中的所有主数。  * @author hongbin.gao  * 思路:原来有一道题目,主数的定义为超过二分之一的数,我们的思路是,将数组中的数两两一组(两个数不等),则最后余下的那个数可能是主数,如果题目说一定存在主数,那就不用检查了,如果不一定存在,则还需要检查一下。  * 现在我们采用相同的思路,将三个
分类: 其他 发布时间: 10-10 23:03 阅读次数: 0

leetcode337. House Robber III

题目:对于一个二叉树,不能同时取某个分支上两端的两个节点,求能取得的最大的值。(这是题目大意)思路:对于一个二叉树,如果根据条件判断该二叉树根节点可以取,则传入参数true,如果某个二叉树的根节点不可以取,则传入false,当参数为true时,到底真正取与不去分两种情况,类似于0-1背包问题,然后返回那个结果比较大的情况。当参数为false,则根节点一定是不能取了,则返回(root.left,tr
分类: 其他 发布时间: 10-10 23:03 阅读次数: 0

Leetcode113. Path Sum II

题目:找出从根节点到叶节点的路径中各节点值之和为sum的所有路径,并返回。 思路:用数组nodeList保存从根节点到现在节点的 路径中的节点。再用flagList来保存每个节点的遍历情况,0表示对应的节点只遍历了左节点,1表示已经遍历了左节点和右节点,再一次过来就可以删除了。思路很简单,下面是代码。 代码: /** * 5 * /
分类: 其他 发布时间: 10-10 23:03 阅读次数: 0

SGI STL(一)——初识STL

为了建立数据结构和算法的一套标准,并且降低其间的耦合(coupling)关系,以提高各自的独立性、弹性、交互操作性(相互合作性,interoperability),C++社群里诞生了STL(Standard Template Library)。
分类: 其他 发布时间: 10-10 23:02 阅读次数: 0

Emacs(一)——初识 Emacs

GNU Emacs 是目前 Unix/Linux 世界里最常见的文本编辑器,与VI(Unix/Linux 操作系统的标准编辑器)。
分类: 其他 发布时间: 10-10 23:02 阅读次数: 0

Emacs(二)——移动光标

Emacs 之移动光标 行末换行问题 自动补全功能 在 Emacs 失去响应的时候 光标的移动 重复命令
分类: 其他 发布时间: 10-10 23:02 阅读次数: 0

SGI STL(二)——C++ 语言特性

在发前一篇博客之前,我认为 STL 的源码剖析,只需要了解 C++ 的的特性与语法规则,便可以比较顺利的解析 STL 的源码。但是,现实却并非如我所预想的那般简单。是的,每个智慧怎么会那般轻易掌握,更何况是集合好多大佬的精华所编写的 STL 呢。所以呢,我决定从 C++ 最基本的标准库开始。
分类: 其他 发布时间: 10-10 23:01 阅读次数: 0