自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(52)
  • 收藏
  • 关注

转载 项目实战中如何使用抽象类和接口

引子:时常会有这么一个疑惑,抽象类和接口功能好像,真正用起来该如何抉择呢??好问题。。来看看书上怎么说的(C#7.0本质论)虽然方法可在基类中声明为抽象成员,但是!!如果都从一个基类派生,会用掉唯一的基类机会,(什么意思呢:也就是C#的单继承特性了),所以,什么都往基类里面加,就会显得特别臃肿,且不通用。所以,原则就是:大共性你给我放基类,小共性用接口。举个例子:...

2019-08-22 20:27:00 493

转载 举例说明什么是抽象类!让抽象变的不再抽象!!

抽象类之所以比较难理解,大概就是因为他太抽象了吧,哈哈,这好像是废话。。虽然很早之前就知道这个抽象类的概念,但是一直纠结于一个问题:你这个抽象类在实际开发过程中到底有个毛线用??所以呢,今天想通过一个例子,来彻底搞清楚这家伙在实际开发中的作用!!假设我是一个地下城的鬼剑士玩家,通过游戏可以实现以下功能:1、我的鬼剑士一次只能放一个技能2、我的鬼剑士有很多技能...

2019-08-22 00:26:00 619

转载 麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目

虽然该方法不会用在实际开发中,但该过程对于初学者还是非常友好的,真应了麻雀虽小,五脏俱全这句话了。好了不多废话了,直接开始!!1.建立一个名为test的Asp.net core web应用程序这一部分的目的是建立项目,并使用MVC框架。2.导入依赖项(sqlite数据库 与 EF core)这一部分的操作目的是可以让我们的项目可以使用操作数据库的一些功能。Micr...

2019-08-14 15:53:00 388

转载 一个基于TCP/IP的小项目,实现广播消息的功能。(超详细版)

1.结合现状 功能分析该功能基于上个项目的改进,主要是通过对服务器端代码的修改,以及对客户端作少许修改,实现开启多客户端时,一个客户端发送消息,达到对所有客户端广播的效果。可参考网吧里的点歌系统,比如某某用户在网吧点了一首歌,其他用户电脑的左下角都会弹出一个某某用户点了一首七里香,或者游戏里面的频道聊天,每个人发完消息后,聊天室里的人都知道你发的消息了,就像下图一样,这也正是做这个功...

2019-08-10 20:42:00 599

转载 一个基于TCP/IP的服务器与客户端通讯的小项目(超详细版)

1.目的:实现客户端向服务器发送数据 原理:2.建立两个控制台应用,一个为服务器,用于接收数据。一个为客户端,用于发送数据。 关键类与对应方法: 1)类IPEndPoint: 1.是抽象类EndPoint的实现类 2.Socket对象的RemoteEndPoint、 LocalEndPoint都是这个类型 3.属性Address: 使用IPv4...

2019-08-08 21:59:00 546

转载 关于MVC设计模式下的Model

内容1:1.大多数情况下,会有两个关于Model的文件。 一个称他为Entity Model,他里面的字段一般是与数据库直接交互的,也就是说,Entity里面每一个字段赋予的属性都是对应着数据库来的。 还有一个称之为View Model,这个呢,他是间接与数据库交互的,比如:我们数据库有个字段是某人的出生年月,但是我的View里面想显示的是某人的年龄,因此,我的View ...

2019-08-05 14:00:00 247

转载 Controllers返回View的一个完整流程

详细说明一个MVC框架下,返回一个view的原理。如下图:上图粗略的说明了一个返回View的流程,细节如下:1.定义Model类:2.定义接口添加接口约束为class:3.定义接口实现类,即对接口的GetAll做一个具体的实现方法:4.在startup内注册接口容器,注册后方可使用,并定义路由(非必要,已存默认,自定义可自行配置):5.在Con...

2019-08-04 20:14:00 189

转载 路由的配置

路由:Routing两种配置路由的方法:1.Conventional Routing -- 按照约定进行路由2.Attribute Routing -- 按照属性标签进行路由方法1:一般情况下,使用MVC访问页面的应用一般使用该方法。具体操作如下:默认方法:设置中可设置初始值,当添加初始值后,启动后若不输入类和具体方法,则程序自动跳转至初始化的...

2019-08-04 17:07:00 118

转载 面向对象编程基础2(干货)

概念1:继承1.C#语言的继承方式为单继承。继承中的基类代表父类,继承者称为派生类。2.隐藏方法:如果想在派生类中定义一个和基类中重名的方法,但是实现过程不一样,这中操作叫隐藏方法。 注意:为屏蔽父类中的那个方法,派生类中声明名称和类型、及函数名都要与父类的对应的方法相同,且声明这个方法的时候要用new关键字。 3.虚方法和多态:面向对象编程中,都遵循一个...

2019-08-02 21:17:00 96

转载 面向对象编程基础(干货)

曾经看过的一些慕课网学习视频,做下笔记,后序更新。概念1:对象和类图1:对象和类的区别,对象具体到实物,类是一种事物的泛称。(比如:对象猫、对象狗 --- 对应着动物类)图2:对象和类的代码块,类定义了字段、属性和方法。而对象则定义对应的字段、属性、方法是什么。(举例:类的字段为姓名、性别、年龄、身高以及方法爱好 --- 对应的对象即为小明、男孩、6岁、...

2019-08-01 22:28:00 75

转载 区分接口和抽象类

一 . 接口1 因为C#不支持多重继承,所以有了接口,一个类只能继承一个父类,但可以实现多个接口,接口本身也可以继承多个接口。2 接口里面的成员变量默认都是public static final类型的。必须被显示的初始化。3 接口里面的方法默认都是public abstract类型的。隐式声明。4 接口没有构造方法,不能被实例化。5 接口不能实现另一个接口,但可以继承...

2019-07-30 16:41:00 72

转载 剑指Offer的学习笔记(C#篇)-- 孩子们的游戏(圆圈中最后剩下的数)

题目描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1报数......

2019-07-22 15:16:00 62

转载 线性回归与逻辑回归

在读研期间,一直在帮导师做技术开发,甚至偶尔做一做美工(帮导师和实验室博士生画个图啥的),算法还是较少接触的,其实,我发现,算法还是蛮好玩的,昨晚看了B站一个美女算法工程师讲了线性回归和逻辑回归两种算法,做下总结吧,不然看了之后过两天就抛在脑后,忘光光了。。视频点击这里。 概念1:回归与分类问题。 1)回归:回归问题模型倾向于一个输入点...

2019-07-08 10:32:00 128

转载 剑指Offer的学习笔记(C#篇)-- 翻转单词的序列

题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?一 ....

2019-07-03 09:29:00 83

转载 剑指Offer的学习笔记(C#篇)-- 左旋转字符串

题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!一 . 题目解析 这个题目借用一个Remove函数。也是比较好想的...

2019-06-27 21:43:00 94

转载 hi 北京

一 . 感慨 借着参加北京物联网展会的这次机会,提前找老师批了大概两周的假期。当然也借着这次机会,尝试了第一次坐飞机、第一次来北京、心里也有点小激动,在路上甚至会想,我是不是要重新规划一下我的人生了呢。 北京的夏天比广东还要热,来到酒店已经下午3点了,吃了一份很大的外卖,有点撑撑的,受到了学校群里的消息,老师让我们实验室的学生们规划一下接下来的任务,迷迷糊糊的...

2019-06-27 21:23:00 93

转载 剑指Offer的学习笔记(C#篇)-- 和为S的连续正数序列

题目描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!一 . 分析题目 ...

2019-06-24 22:03:00 88

转载 剑指Offer的学习笔记(C#篇)-- 数组中只出现一次的数字

题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。题目给定:num1,num2分别为长度为1的数组。传出参数;将 num1[0], num2[0] 设置为返回结果。。一 . 题目分析 题目说的太笼统,举例分析。 例如:给定的数组是这个:int[] z = new int[8] {2,4...

2019-06-21 14:35:00 144

转载 学习进度 -- 2019.6.20

今天的进度:1 . 肝书 -- 程序是怎样跑起来的 目前已读到第十章,还剩2章结束。后期会做总结,该书特点是非常有趣,而且很长见识,充分认识硬软件之间的交互,很喜欢。2 . 数据结构做题 -- 1道,总结了一下递归。 明天做做题吧,好久没做题了。3 . git 看了两位大神的博客+git软件开发实战这本书,感觉不用特别去深究...

2019-06-20 22:30:00 72

转载 剑指Offer的学习笔记(C#篇)-- 平衡二叉树(二叉树后序遍历递归详解版)

题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。一 . 题目分析 首先要理解一个概念:什么是平衡二叉树,如果某二叉树中任意的左右子树深度相差不超过1,那么他就是一颗平衡二叉树。如下图: 所以,知道了这个概念之后,回归题目。判断该二叉树是不是平衡二叉树,就要在二叉树每个节点的深度来搞了,肯定要对二叉树进行遍历,但是如何效率最大化,如...

2019-06-20 13:32:00 95

转载 剑指Offer的学习笔记(C#篇)-- 二叉树的深度(详讲递归)

题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。一 . 思维发散 借助这个题目,我想用一个更好理解的方法说一说递归。借助数学上的小括号来更好的理解递归,我做过小学生家教,记得这应该是小学四年级的题目(符号的计算顺序)。直接上图吧。 也许写的不够严谨,但传达的...

2019-06-19 23:02:00 186

转载 剑指Offer的学习笔记(C#篇)-- 数字在排序数组中出现的次数

题目描述统计一个数字在排序数组中出现的次数。一 . 题目分析 该题目并不是难题,但该题目考察目的是正确的选择合适的查找方法。题目中有一个关键词是:排序数组,也就是说,该数组已经排好了,我一开始直接遍历了一遍数组,有相同的就加1,代码量虽然很少,但这很显然是效率很低的方法。所以又重新码了二分查找法的代码。 根据题意,使用这种方法要考虑到两点:...

2019-06-19 19:28:00 128

转载 if-else判断语句中经常犯的一个错误

假设题目为:随便给定一个数,三种情况:(1)若小于0,输出为“小于0”;(2)若在0-50之间,则输出“在0-50之间”。(3)若大于50,则输出“大于50”。解法:如果我这么写,运行一下看看。 int x = Convert.ToInt16(Console.ReadLine()); if (x>50) ...

2019-06-17 10:49:00 694

转载 剑指Offer的学习笔记(C#篇)-- 旋转数组的最小数字

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。一 . 方法分析(正常单调递增数组) 1 . 参考二分查找法,我们用两个指针...

2019-06-10 23:10:00 84

转载 二叉树遍历基础 -- 递归与非递归的实现方法

之前也写过不少关于二叉树的东西了,但是总体来说,二叉树还是一个很绕的东西,所以单独择出来写一篇笔记,之前也没计划什么的,就想到什么写什么吧。不过该篇文章的主要内容是关于二叉树的三种遍历(前序、中序、后序)不同的实现方式(递归与非递归)。 首先,我觉得很有必要去彻底理解一下递归。 (1)递归的主体大概分两部分:递归停止的条件、递归内容...

2019-06-05 14:27:00 127

转载 剑指Offer的学习笔记(C#篇)-- 序列化二叉树

题目描述请实现两个函数,分别用来序列化和反序列化二叉树一 . 理解题意 二叉树的序列化,是将一个结构化的东西变成扁平化的字符串,序列化二叉树或者是反序列化二叉树就是二叉树和扩展二叉树遍历序列之间的转换。将二叉树中的没个结点的空指针引出一个虚节点,其值为一个特定值,比如说 # 字符,我们成这种处理后的二叉树为原来二叉树的扩展二叉树。扩展二叉树和二叉树是一一对应...

2019-06-04 15:11:00 100

转载 剑指Offer的学习笔记(C#篇)-- 对称的二叉树

题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。一 . 题目分析 递归法。 一、空树判断,单独搞出来。 二、非空树。 递归:一个递归+三个递归停止条件二 . 代码实现class Solution{ ...

2019-06-03 22:15:00 104

转载 剑指Offer的学习笔记(C#篇)-- 二叉树的下一个节点(好理解版本)

题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。一 . 理解题意 该题目我们可以借鉴一个非常影响不好的例子来理解题意(重男轻女的思想,当然本人可不会这样,本人家庭更不会,从小被姐姐打成哈士奇)。 此外呢,该题目的关键点在于二叉树的遍历,其实这个已经...

2019-06-03 20:20:00 86

转载 剑指Offer的学习笔记(C#篇)-- 不用加减乘除做加法

题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。一 . 理解题目 这个题目可以让我们回归到小学,想想加法的竖式是怎么写的,哈哈,如果当时你不是那个竖式写错了,是不是就不在3班了?是不是就不会在这里写什么这这这..... 海绵宝宝,这就是人生啊。。 回归题目:加法的竖式无非三步走,一、个位数相加;二、个位...

2019-06-02 22:53:00 128

转载 剑指Offer的学习笔记(C#篇)-- 求1+2+3+...+n

题目描述求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。一 . 直接解题吧 芽儿呦,突然觉得,我不说!! 该题目用到递归,但是却不存在if等判断语句。class Solution{ public int Sum_Solut...

2019-06-02 22:06:00 193

转载 剑指Offer的学习笔记(C#篇)-- 整数中1出现的次数(从1到n整数中1出现的次数)...

题目描述求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。一 . 复杂解法(时间复杂度O(nlogn)) ...

2019-06-02 21:37:00 127

转载 剑指Offer的学习笔记(C#篇)-- 连续子数组的最大和

题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它...

2019-06-02 16:32:00 124

转载 边缘计算的第一篇读书笔记

一 . 概念 现在科技发展的这么快,要知道,任何一种技术都不是凭空而生的,每一项信息技术的产生,都是新型应用日益增加的高性能、高实时、低能耗、低延迟的需求,与当前信息系统及其结构在计算、存储、传输等方面不足而矛盾的产物。(比个喻吧,现在都5G时代了,可是我用的是小灵通,但是我又想享受5G,怎么办呢,买5G手机啊!!啊哈哈哈哈。。) 边缘计算可以应用...

2019-06-01 00:48:00 212

转载 剑指Offer的学习笔记(C#篇)-- 二叉搜索树的后序遍历序列

题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。一 . 解题思想与二叉搜索树概念 (1). 二叉树的后序遍历方法(左→右→根)。 (2).二叉查找树,又被称为二叉搜索树。其特点如下:设x为二叉查找树中的一个结点,x节点包含关键字key,一句话...

2019-05-23 22:12:00 119

转载 剑指Offer的学习笔记(C#篇)-- 从上往下打印二叉树

题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。一 . 题目解析 了解过二叉树就应该知道,二叉树存在三种遍历方法:前序遍历(根→左→右)、中序遍历(左→根→右)、后续遍历(左→右→根)。 自定义二叉树: /// <summary> /// 二叉树的节点定义 /// </s...

2019-05-23 21:29:00 126

转载 剑指Offer的学习笔记(C#篇)-- 栈的压入、弹出序列

题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)一 . 理解题意 做好此题的关键在于读懂题目的意思...

2019-05-22 16:06:00 116

转载 剑指Offer的学习笔记(C#篇)-- 二进制中1的个数

题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。一 . 解题思路 新颖的解法,使得该题目运用到了二进制的位运算符。先了解一下位运算符! 此题便很好的发挥了位运算符&的特点,怎么想呢?这样:二进制数均是由0和1构成,当输入的参数X不等于0时,我们使用该参数X与(X-1)做&运算,运算结果如下图,可见,...

2019-05-22 11:23:00 122

转载 剑指Offer的学习笔记(C#篇)-- 数组中重复的数字

题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。一 . 解题思路 方法一:效率低的方法。 给数组搞内外两...

2019-05-21 20:59:00 175

转载 剑指Offer的学习笔记(C#篇)-- 构建乘积数组

题目描述给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。一 . 题目解析 简而言之,给你一个数组,返回一个数组,返回的数组内容不包含A[i],注意题目中红色部分。也就是说,你返回的这个数组B,他的每一项都是数组...

2019-05-21 17:04:00 129

转载 剑指Offer的学习笔记(C#篇)-- 从尾到头打印链表

题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。一 . 个人想法 这个题目搞了一段时间,因为解法好多,比如:是用递归法呢还是循环呢,要不要使用栈呢等等.. 所以,每一种想法都写一下吧,还有一点点的小细节什么的。 这个题目就不用解释了吧,举个例子:输入1→2→3→4→5,输出5→4→3→2→1。二 . 解题方法...

2019-05-20 15:43:00 66

空空如也

空空如也

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

TA关注的人

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