- 博客(65)
- 收藏
- 关注
原创 java中equals与==
java中equals与====当==比较两个基本类型时,==比较的是两个数的值。当==比较两个引用数据类型时,比较的是两个引用数据类型引用的对象在堆内存的位置。除非是同一个new出来的对象,他们的比较后的结果才为true。equalsequals是java Object类中自带的,因为Object类是所有类的父类,所以每一个类中都会继承有equals方法,其中Object类关于equals方法的源码是:public static boolean equals(Object a, Obj
2020-05-14 11:21:11
170
原创 背包九讲文章总结
[[1]背包九讲文章][a][a]: https://www.kancloud.cn/kancloud/pack/7012501背包问题题目:有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。01背包#include<iostrea...
2020-02-11 17:22:23
145
原创 java设计模式之装饰模式
装饰模式又名包装(Wrapper)模式。可以用来代替继承对类功能进行扩展。装饰模式中有以下角色:抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。即要被装饰的对象的基本构成。具体构件(ConcreteComponent)角色:定义一个将要接收附加功能的类装饰角色(Decorator):持有一个构件(Component)对象的实例,并定义一个与抽象构件接口一...
2019-12-02 12:58:57
191
原创 java设计模式之装饰模式
装饰模式又名包装(Wrapper)模式。可以用来代替继承对类功能进行扩展。装饰模式中有以下角色:抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。即要被装饰的对象的基本构成。具体构件(ConcreteComponent)角色:定义一个将要接收附加功能的类装饰角色(Decorator):持有一个构件(Component)对象的实例,并定义一个与抽象构件接口一...
2019-12-02 12:56:48
177
1
原创 338. 比特位计数
文章连接题目描述给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例 2:输入: 5输出: [0,1,1,2,1,2]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/counting-bits著作权...
2019-11-30 20:52:28
121
原创 java设计模式之适配器模式
通过继承实现适配器如同生活中typec数据线,适配器模式适用于需要将一个接口转换成另一个接口进行使用的情况。假设我们有一个电脑只有usb接口。package cn.strugglenow.adapter;public class user {public void needUsb(USB fun) { fun.request();}public static void main(...
2019-11-30 15:07:20
97
原创 设计模式之单例模式
这是个好东西设计模式之单例模式单例模式-即一个类只构造一个实例。并且提供一个方法访问该唯一的对象。优点1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如管理学院首页页面缓存)。2、避免对资源的多重占用(比如写文件操作)。缺点没有接口,不能继承,与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。饿汉式在类加载的阶段,其实例就被初始化...
2019-11-23 20:02:44
95
原创 java工厂模式
这是个好东西工厂模式实现了创建者和调用者分离。符合面向对象的设计原则,使项目更加容易维护扩展。##简单工厂模式简单工厂模式也叫静态工厂模式,实现了创建者和使用者的分离,当我们想获取一个类的实例时,不是通过调用类的构造器,而是通过一个工厂方法返回一个类的实例。public interface car {void run();}public class byd implements c...
2019-11-23 20:01:17
89
原创 图---997. 找到小镇的法官
这是个好东西997. 找到小镇的法官题目描述在一个小镇里,按从 1 到 N 标记了 N 个人。传言称,这些人中有一个是小镇上的秘密法官。如果小镇的法官真的存在,那么:小镇的法官不相信任何人。每个人(除了小镇法官外)都信任小镇的法官。只有一个人同时满足属性 1 和属性 2 。给定数组 trust,该数组由信任对 trust[i] = [a, b] 组成,表示标记为 a 的人信任标记为...
2019-11-23 19:59:55
182
原创 Ubuntu中使用motion制作监控
原文连接:原文连接,欢迎访问安装摄像头制作监控,首先要在ubuntu系统中安装usb摄像头,安装好之后,使用ls /dev/video*查看摄像头设备的名称。且不要随意插拔设备,否则会造成设备名称的改变,影响motion的配置文件。如果成功安装就会有如下显示:记住设备的名称。安装motion如果是在ubuntu下,只需要执行apt-get install motion即可。安装完成后...
2019-11-23 11:04:17
2378
原创 数据结构作业
#include<iostream>#include<cstring>#include<cstdio>#include<cstdlib>using namespace std;typedef struct Node{ int data; struct Node *next;}Linknode;...
2019-10-07 12:21:50
105
原创 php防止用户通过url直接下载
首先我们应该提供给用户除了url下载之外的下载手段,php可以通过文件输入输出流来完成这个任务。function download($fname,$fpath="download/"){ //避免中文文件名出现检测不到文件名的情况,进行转码utf-8->gbk $filename=iconv('utf-8', 'gb2312', $...
2019-09-26 10:22:04
2143
原创 动归-最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palindromic-...
2019-09-16 19:22:03
116
原创 分治-求众数
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例1:输入: [3,2,3]输出: 3示例2:输入: [2,2,1,1,1,2,2]输出: 2来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/majori...
2019-09-15 19:22:02
404
原创 动态规划-数字三角形
在数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大。路径上的每一步都只能往左下或 右下走。只需要求出这个最大和即可,不必给出具体路径。 三角形的行数大于1小于等于100,数字为 0 - 99输入格式:5 //表示三角形的行数 接下来输入三角形73 88 1 02 7 4 44 5 2 6...
2019-09-14 19:22:02
105
原创 分治思想
把一个任务,分成形式和原任务相同,但规模更小的几个部分任务(通常是两个部分),分别完成,或只需要选一部完成。然后再处理完成后的这一个或几个部分的结果,实现整个任务的完成。思想上和递归中对程序分解求解有点像https://www.strugglenow.cn/?p=188分治思想的应用:1.归并排序步骤:1) 把前一半排序2) 把后一半排序3) 把两半归并到一个新的有...
2019-09-12 19:22:01
114
原创 计算机中的乘除法
原码乘法(1) 由无符号阵列乘法器完成两个数值相乘;(2) 乘积的符号位为:z2n=xn⊕yn (单独获得)计算机中的数大多以补码方式存储,而补码没有原码好进行乘除运算,所以第一步应该先把补码再使用扫描法改为原码(原码求补得补码,再搞一次就又回来了)。求补器原理:E为控制端,当E=1时蓝色的与运算符被打开,启动求补,如果这时黄色的或运算器再输出个1,那么ai的值就会反转...
2019-09-11 19:22:01
3185
原创 原码并行乘法,补码相乘
原码特点:原码的数值部分为其真值的绝对值(正值) ∴ 两个原码可以直接相乘,非常方便。运算规则为: ① 两个数值部分直接相乘,即得到乘积的数值; ② 乘积的符号位:由两数的符号位“异或”(相同为正,相反为负)运算得到。(高速并行乘法器)图片得到方法:像正常运算一样把乘数与被乘数的乘积写在每一行(注意偏移量),每一个FA向下代表两数和,向左下代表进位。指向它的是加数与被加数...
2019-09-09 19:22:00
1783
原创 计算机中溢出
计算结果溢出的含义: ① 两个正数相加,若结果为负,称为上溢。 (即:计算结果大于机器所能表示的最大正数)② 两个负数相加,若结果为正,称为下溢。 (即:计算结果小于机器所能表示的最小负数)溢出的特征:因为补码是连同符号位一起计算的,运算过程中,当最高有效数值位的运算进位与符号位的运算进位不一致时,将产生运算“溢出”。对溢出的检测:1.单符号法:符号位运算进位Cf,最高有...
2019-09-09 19:21:59
8448
原创 算24
题目描述:给定4个小于10的正整数,有没有可能使用+-*/以及()把4个数连接成一个表达式,使其结果等于24.如果有输出yes,没有输出no。思路:还是利用递归把一个大的问题分割成与其原理或者说形式相似但规模更小的子问题(我们需要先想一想第一步需要做什么,然后看看第一步做完后,剩下的问题会变成什么)。递归中重要的一点是想好终止递归的条件。本题是要计算4个数通过运算是否可以得出2...
2019-09-08 19:21:58
309
原创 通过递归对程序进行分解求解
先考虑第一步该怎么做,然后根据第一步的做法,把问题分成几类与原问题相似但规模更小的子问题,然后我们就可以写成递推式,就有可能用递归来解决。递归时要写出边界条件,即什么时候不需要递归运算就能得到结果。例:上台阶有一个n级台接,你可以每次走一步,也可以每次走两步。请你输出所有的走法。思路:第一步只有两种选择------走一步或者走两步。所以第一步之后所有可能的走路方法就等于走一...
2019-09-07 19:21:58
138
原创 leetcode328奇偶链表
题目描述:给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/odd-...
2019-09-07 19:21:57
115
原创 两台服务器定时发送文件
因为两台服务器发送文件时需要输入密码所以可以使用expect来代替shell进行脚本编写。expect可以使用apt-get install expect 安装。安装完成后vi filename.sh编辑脚本时每个命令都必须要写绝对路径,如果写相对路径,那么在设置crontab自动执行的时候就会找不到该文件。#!/usr/bin/expect//绝对路径set tim...
2019-09-06 19:21:56
422
原创 leetcode160相交链表
我的代码/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; *...
2019-09-06 19:21:56
69
原创 第一个python爬虫,爬虫的基本步骤
import requestsimport re#正则表达式模块# 下载一个网页url='http://www.jingcaiyuedu.com/book/15205.html'#统一资源定位符是URL#模拟浏览器发送http请求#添加一个headers更好地模拟浏览器的请求headers = {'User-Agent':'Mozilla/5.0 (Win...
2019-09-06 19:21:56
187
原创 61. 旋转链表
https://leetcode-cn.com/problems/rotate-list/我的题解/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val...
2019-09-05 19:21:56
132
1
原创 shell
shell变量定义shell变量时不加&或$直接写就可以了。使用时要加$,如${string};其中{}是为了分隔变量与别的字符,可以不加。获取字符串长度:echo ${#string};截取字符串:echo ${String:1:4};使用反引号`显示命令执行结果,expr执行表达式:string="runoob is a great site"echo `...
2019-09-05 19:21:55
60
原创 创建链表
1.头插法将新的结点插入到当前链表的表头上(也就是头节点之后,也叫哑节点),插入完成后数据顺序改变;//建立单链表//头插法void createList(Linknode *&L,int a[],int n){ Linknode *s; L=(Linknode*)malloc(sizeof(Linknode)); L->next==n...
2019-09-05 04:33:34
98
原创 枚举二进制(01组成的数列)
因为每一个二进制数都对应一个十进制数,所以要枚举n位01组合,只需要让10进制数从0枚举到2的n次方减一;如枚举2位01组合,只需要十进制从0枚举到3;00 ---001 ---110 ---211 ---3 ...
2019-09-04 07:33:33
413
原创 力扣1002
给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。你可以按任意顺序返回答案。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-common-character...
2019-09-03 07:33:33
108
原创 c++语言在函数中初始化一个线性结构为什么使用*&
#include<cstdio>#include<cstring>#include<cstdlib>#include<iostream>using namespace std;typedef struct {int a[10];int length; }S;void create(S* &...
2019-09-03 07:33:32
119
原创 位运算
符号操作作用&与全1才为1|或全零才为0^异或不同为1,相同为零~取反1变0,0变1>>右移对无符号数,左边补0,对有符号数左边补0(逻辑右移)或1(算术右移)<<左移左边丢弃,右边补0...
2019-08-31 07:33:28
119
原创 计算机的性能指标
吞吐量:一台计算机在某一时间内能够处理的信息量响应时间: 从输入有效到系统产生响应的时间利用率: 给定的时间间隔内系统被实际使用的时间所占的百分百处理机字长:运算器中一次能够运算二进制数的位数总线宽度:cpu中连接运算器与存储器的内部总线二进制位数存储器带宽:单位时间内从存储器中读出的二进制信息量,一般用字节数/秒表示cpu主频:主时钟产生信号的固定频率,其倒数是cpu的时钟周...
2019-08-28 07:34:30
240
原创 ubuntu+apache2设置ssl并把http定向为https
apache2的目录结构apache2.conf:Apache的主要配置文件,包含全局配置。envvars:Apache2环境变量。ports.conf:配置Apache监听的端口。mods-available:这个目录包含模块和模块配置文件,不是所有的模块都有配置文件。mods-enabled:持有/etc/apache2/mods-available目录下文件的链接...
2019-08-22 07:33:17
383
原创 堆
https://www.icourse163.org/learn/ZJU-93001#/learn/content?type=detail&id=1211167093&cid=1213729247堆的两个特性:结构性:用数组表示的完全二叉树有序性:任意结点的关键字是其子树所有节点的最大或最小值创建堆[block]public class creat...
2019-08-14 07:35:41
73
原创 vmware该虚拟机似乎正在使用中
找到该虚拟机的配置文件位置,然后删除掉所有。lck文件。如果还不可以,就启动任务管理器,强制结束所有与vm有关的进程。
2019-08-13 07:34:31
92
原创 linux——ACL
ACL对某个指定的用户进行权限控制。如果对目录设置ACL则其文件会继承该ACL,针对文件设置了 ACL,则文件不再继承其所在目录的 ACL。命令:[info]setfacl 命令用于管理文件的 ACL 规则,格式为 setfacl 参数 u:用户:权限 目录或文件如setfacl -Rm u:linuxprobe:rwx /root,其中针对目录文件需要使用-R 递归参...
2019-08-12 07:33:13
161
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人