自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 资源 (8)
  • 收藏
  • 关注

原创 lotus本地测试网2K环境多节点搭建

设置环境变量因为参数默认托管在国外,因此设置环境变量提速export IPFS_GATEWAY=https://proof-parameters.s3.cn-south-1.jdcloud-oss.com/ipfs/安装lotus(Linux环境)因为此处使用的是从源代码安装,因此先安装系统依赖,这里本机电脑使用的是Ubuntu20.04sudo apt install mesa-opencl-icd ocl-icd-opencl-dev gcc git bzr jq pkg-config cu

2022-04-15 20:27:09 864

原创 自动装箱和拆箱的原理

自动装箱和拆箱的原理我们在面试中经常会被问到什么是自动装箱和拆箱,今天,我就通过代码来讲解一下自动装箱背后的原理学过Java的都知道,自动装箱呢,就是将基本数据类型自动转换成Integer、Character、Long、Double、Boolean这些包装器类型,那么它们背后的原理是什么呢?我们用下面这些代码示例来做讲解:首先来看这个例子:public class Main { public static void main(String[] args) throws IOExceptio

2022-03-27 20:13:35 2319 2

转载 海量数据TopK问题

海量数据中找出前k大数(topk问题)海量数据中找出前k大数(topk问题)前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些。 先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的),将这个数替换堆顶,并调整结构使之仍然是一个最小堆,这样,遍历完后,堆中的10000个数就是所需的最大的10000个。建堆时间复杂度是O(mlogm),算法的时间复

2022-03-18 15:24:31 1233

转载 windows下使用filezilla上传文件权限问题

windows下使用filezilla上传文件权限问题(open for write: permission denied)解决方式:使用以下命令给我们需要放入的目标文件权限:sudo chmod 777 /homesudo chmod 777 /opt/

2021-12-05 12:57:39 1437

原创 爬取Leetcode的每日一题(Java/Python)

抓取Leetcode的每日一题信息思路一(发送GraphQL Query获取数据)参考文章:https://www.cnblogs.com/ZhaoxiCheung/p/9333476.html接口分析主要的数据存在于graphql/接口中:https://leetcode-cn.com/graphql/首页热门题目接口是否AC状态查看接口每日一题接口构造 GraphQL Query来获取信息在Headers下的Request Payload中我们可以看到一个query字段,这是我

2021-11-03 17:15:08 8005 11

转载 什么是CAS机制?

什么是 CAS 机制?1.Synchronized关键字Synchronized关键字会让没有得到锁资源的线程进入BLOCKED状态,而后在争夺到锁资源后恢复为RUNNABLE状态,这个过程中涉及到操作系统用户模式和内核模式的转换(重量级锁在操作系统层面,申请了Mutex Lock 来实现互斥),代价比较高。尽管Java1.6为Synchronized做了优化,增加了从偏向锁到轻量级锁再到重量级锁的过度,但是在最终转变为重量级锁之后,性能仍然较低。2.什么是CAS?CAS是英文单词Compare

2021-10-15 07:53:16 394

转载 Ruoyi-Cloud-服务间的调用

Ruoyi-Cloud-服务间的调用如文档所描述的,Ruoyi-Cloud服务间调用使用的是feign,文档链接:http://doc.ruoyi.vip/ruoyi-cloud/cloud/feign.html基本介绍Feign 是Spring Cloud Netflix组件中的一量级Restful的 HTTP 服务客户端,实现了负载均衡和 Rest 调用的开源框架,封装了Ribbon和RestTemplate, 实现了WebService的面向接口编程,进一步降低了项目的耦合度。Feign在Gi

2021-09-19 01:32:40 2272

原创 算法训练 || 169、多数元素

169、多数元素方法一:排序+遍历class Solution { public int majorityElement(int[] nums) { if(nums.length == 1) return nums[0]; //将数组排序是为了统计 Arrays.sort(nums); //统计变量 int count = 1, maxcount = 0; int index = 0, num =

2021-09-14 22:39:12 114

原创 生成对抗网络GAN&CycleGAN

GAN简介生成对抗网络GAN主要由两部分组成:生成网络和判别网络。每个网络都可以是任何神经网络,比如普通的人工神经网络(artificial neural network,ANN)、卷积神经网络(convolutional neural network,CNN)、循环神经网络(recurrent neural network,RNN)或者长短期记忆(long short term memory,LSTM)网络。判别网络则需要一些全连接层,并且以分类器收尾。生成对抗网络的基本结构图如图所示,对于生成对抗网络

2021-06-09 02:36:13 3230

原创 算法训练||剑指 Offer 10- I. 斐波那契数列

方法一:普通递归class Solution { public int fib(int n) { if(n == 0){ return 0; }else if(n == 1){ return 1; } return (fib(n-1)+fib(n-2))%1000000007; }}由于递归的深度太深,这种方式是超时的。方法二:记忆递归由于计算过程中,有很多的值是重复.

2021-05-29 19:22:14 135

原创 算法训练||剑指 Offer 07. 重建二叉树

方法一:递归,从根结点出发,将根结点下的每一个结点都看作是根结点(递归的思想),然后根据前序遍历的特性,遍历结果的第一个值就是根结点的值,因此可以确定递归的赋值过程,接下来就是确认书的前序遍历和中序遍历的位置,分别对(左子树的前序遍历,左子树的中序遍历),(右子树的前序遍历,右子树的中序遍历)进行递归构建二叉树。这里还有一点特别重要,就是要通过前序遍历中的根结点的值找到中序遍历中根结点的值所在的索引,以便用来划分中序遍历中的左子树和右子树。/** * Definition for a binary t.

2021-05-29 16:26:00 178 3

原创 算法训练||剑指 Offer 06. 从尾到头打印链表

方法一:题目的意思很明显:后进先出,于是可以联想到使用栈的方式/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public int[] reversePrint(ListNode head) { .

2021-05-28 00:13:33 113

原创 算法训练||剑指 Offer 04. 二维数组中的查找

方法一:通过每一次比较当前所剩区域的右上角和目标值的大小来进行判断如果右上角的元素等于target,返回true如果右上角的元素小于target,删除右上角元素所在的行 row++如果右上角的元素大于target,删除右上角元素所在的列 col–class Solution { public boolean findNumberIn2DArray(int[][] matrix, int target) { if(matrix.length == 0||matrix[0].

2021-05-26 08:04:03 111

原创 算法训练|剑指 Offer 03. 数组中重复的数字

方法一:先把输入的数组排序,排序完后遍历数组,当元素重复时,将元素输出即可。class Solution { public int findRepeatNumber(int[] nums) { Arrays.sort(nums); for(int i = 0;i<nums.length-1;i++){ if(nums[i] == nums[i+1]){ return nums[i]; .

2021-05-25 19:40:08 172

原创 Tensorflow构建单层/多层LSTM网络对MNIST数据集分类

#-*- codeing = utf-8 -*-#@Time :2021/5/20 19:40#@Author :Onion#@File :LSTMMNISTDemo.py#@Software :PyCharmimport tensorflow as tfimport osfrom tensorflow.examples.tutorials.mnist import input_dataos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'# 获取MNIST数据

2021-05-20 21:39:03 780

原创 python爬虫实验(静态网页内容爬取):爬取中国工程院网站相关信息

实验内容:爬取中国工程院网页上的院士信息,把每位院士的简介保存为本地文本文件,把每位院士的照片保存为本地图片,文本文件和图片文件都以院士的姓名为主文件名。#-*- codeing = utf-8 -*-#@Time :2021/5/20 8:54#@Author :Onion#@File :Experiment3.py#@Software :PyCharmimport requestsimport refrom urllib.request import urlopen# 网站地址U

2021-05-20 12:55:54 4631 6

原创 Tensorflow使用卷积神经网络操作对MNIST数据集进行预测

# 对MNIST数据集做卷积操作#-*- codeing = utf-8 -*-#@Time :2021/5/17 21:10#@Author :Onion#@File :ConMnistDemo.py#@Software :PyCharm# 对MNIST数据集做卷积操作import tensorflow as tf# 导入 MINST 数据集from tensorflow.examples.tutorials.mnist import input_datamnist = inpu

2021-05-17 23:47:11 379

原创 Tensorflow(1.15.0)卷积操作

#-*- codeing = utf-8 -*-#@Time :2021/5/17 10:33#@Author :Onion#@File :Convolution.py#@Software :PyCharm# 卷积神经网络Demo# 步骤# 1:定义输入变量# 2:定义卷积核变量# 3:定义卷积操作# 4:运行卷积操作import tensorflow as tftf.compat.v1.disable_eager_execution()tf.compat.v1.disable

2021-05-17 11:32:48 381

原创 Tensorflow(1.15.0)利用全连接网络将图片进行分类

#-*- codeing = utf-8 -*-#@Time :2021/5/16 19:02#@Author :Onion#@File :MnistByHidden_Layers.py#@Software :PyCharm# 利用全连接网络将图片进行分类import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_datatf.compat.v1.disable_eager_execution()

2021-05-16 23:26:30 450

原创 Tensorflow(1.15.0) 用线性单分逻辑回归分析肿瘤是良性还是恶性的

#-*- codeing = utf-8 -*-#@Time :2021/5/16 12:55#@Author :Onion#@File :Hospital_medical_records.py#@Software :PyCharmimport tensorflow as tfimport matplotlib.pyplot as pltimport numpy as npfrom sklearn.utils import shuffle# generate函数生成模拟数据tf.com

2021-05-16 17:45:09 179

原创 Tensorflow交叉熵实验

#-*- codeing = utf-8 -*-#@Time :2021/5/15 17:37#@Author :Onion#@File :CrossentropyDemo.py#@Software :PyCharm# 交叉熵实验import tensorflow as tfimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'tf.compat.v1.disable_eager_execution()tf.compat.v1.reset_

2021-05-15 19:17:47 262

原创 Tensorflow(1.15.0) 识别图中模糊的手写数字

import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data# 获取MNIST数据# tf.disable_v2_behavior()mnist = input_data.read_data_sets("./MNIST_data", one_hot=True)tf.compat.v1.disable_eager_execution()tf.compat.v1.reset_default_grap

2021-05-15 11:59:43 421 1

转载 介绍一个快速确定神经网络模型中各层矩阵维度的方法

介绍一个快速确定神经网络模型中各层矩阵维度的方法深度学习在设计神经网络结构时需要指定每个隐藏层权重矩阵、偏置项的维度,有的时候容易搞混淆,导致运行时产生维度不对的错误,特别是对于隐藏层既深又宽的网络,更容易出错。下面以一个实例来说明怎么简单快速确定每一层各个矩阵的维度。假设需要拟合的函数为:y=f(x)=WX+b。损失函数:J(W,b)其中 X:输入特征,W:权重,b:偏置项正(前)向传播的计算公式a[0]=X,z[i]=w[i]*a[i-1]+b[i] ,a[i]=gi向量化表示A[0]=

2021-05-14 18:57:59 1357

转载 Python类中的self到底是干啥的

Python编写类的时候,每个函数参数第一个参数都是self,一开始我不管它到底是干嘛的,只知道必须要写上。后来对Python渐渐熟悉了一点,再回头看self的概念,似乎有点弄明白了。首先明确的是self只有在类的方法中才会有,独立的函数或方法是不必带有self的。self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。self名称不是必须的,在python中self不是关键词,你可以定义成a或b或其它名字都可以,但是约定成俗(为了和其他编程语言统一,减少理解难度),不要搞另类,大家会不明白

2021-05-09 00:20:58 575

原创 算法训练|丑数(最小堆)

class Solution { //最小堆解法 //最小堆的定义:根节点的值比左右结点的值要小(父节点的值比左右孩子结点的值要小) public int nthUglyNumber(int n) { //质因数 int[] factors = {2,3,5}; //定义丑数 int ugly = 0; //用一个set来取出重复的结果集 //将最小堆的根节点存入set中(包括去重),这.

2021-04-12 01:22:20 136

原创 算法训练|三数之和(双指针)

思路:对数组进行一次循环,定义两个左右指针,将指针和循环变量i对应的三个数求和,如果为0,则将三个数作为元组加入res中,如果sum大于0,或者sum小于0,都要压缩双指针,让双指针和变量i所对应位置的元素值和趋向于0,同时要对i和left和right都做去重处理。class Solution { public List<List<Integer>> threeSum(int[] nums) { List<List<Integer>&gt.

2021-04-08 18:40:25 124

原创 算法训练|两个数组的交集

思路一:暴力法class Solution { //暴力法,两个for循环遍历数组 public int[] intersection(int[] nums1, int[] nums2) { //使用Set去重 Set<Integer> res = new HashSet<Integer>(); for(int i = 0; i<nums1.length;i++){ for(int j .

2021-04-01 14:15:20 123

原创 算法训练|笨阶乘

思路一:使用栈来模拟,分别给每一位分配一个index下标来标记,开始的时候,先将下标为0的元素入栈,因为我们要使用取余数的方式来判断运算符号,而第一位永远是正数,因此先将第一位入栈,然后开始用for循环遍历做取余运算,当index%40的时候是乘号,index%41的时候是除号,index%42的时候是加号,index%43的是减号,减号用负数来表示class Solution { public int clumsy(int N) { Deque<Integer> .

2021-04-01 13:13:51 81

原创 算法训练|有效地字母异位词

思路一(哈希表):使用一个数组来记录字符串中每个字符地使用次数,在第一个字符串中每访问一次字符,就将数组中对应字母地访问次数+1,在第二个字符串中每访问一次字符,就将数组中对应字母访问次数-1,最后判断数组是不是全为0,如果是的话就是字母异位词。class Solution { public boolean isAnagram(String s, String t) { //初始化数组所有元素为0 int[] record = new int[26]; .

2021-04-01 08:48:36 102

原创 算法训练|子集II

思路一:回溯、去重class Solution { //设置临时集合 List<Integer> temp = new ArrayList<Integer>(); //设置子集总集合 List<List<Integer>> ans = new ArrayList<List<Integer>>(); public List<List<Integer>> subsetsW..

2021-04-01 01:38:13 145

原创 算法训练|环形链表

思路:使用哈希表来标记链表中的元素,如果被访问过,直接返回true,如果没有被访问过,则加入哈希表中,哈希表的特性就是同一个元素只能存入哈希表中最多一次,因此可以用来标记访问唯一性。public class Solution { public boolean hasCycle(ListNode head) { //使用哈希表来判断一个元素是否被访问过 HashSet<ListNode> hasSeen = new HashSet<ListNo...

2021-03-30 20:34:23 89

原创 算法训练|链表反转

方法一:递归/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode reverseList(ListNode head) { //初始化curr和prev双指针,与双指针.

2021-03-30 19:58:28 84

原创 二分查找,关键在细节!

二分法思路其实很简单,但是细节是其真正的难点,二分法最常见的场景有3种:寻找一个数、寻找左侧边界、寻找右侧边界。这里总结一下二分法的一些细节问题,比如什么时候while(…)里面使用=,什么时候left = mid,什么时候left = mid+1…下面这个是一个二分法的模板:int binarySearch(int[] nums, int target) { int left = 0, right = ...; while(...) { int mid = (rig

2021-03-30 13:35:30 153

原创 算法训练|移除链表元素

解题思路:设置哨兵,用来表示头哨兵,目的是让链表不至于没有头结点,同时还要设置prev指针和curr指针,用来操作链表的删除。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(i..

2021-03-30 02:02:32 75

原创 算法训练|移出元素

思路:使用双指针,首先让两个指针同步移动,当val!=nums[fastindex]的时候,slowindex和fastindex是同步移动,这样在后面的时候就可以达到模拟“删除元素”的效果,因为当val==nums[fastindex]的时候,fastindex是移动的,而slowindex是不移动的,两者之间元素就会在val!=nums[fastindex]的时候通过同步移动来“删除”。class Solution { public int removeElement(int[] num...

2021-03-30 01:25:32 149

原创 算法训练|螺旋矩阵II

这个题目是一道模拟数组的题目,本身没有什么高深的算法,主要是考察用代码描述抽象事物的能力,根据数组的边界可以确定上、左、下、右的边界,每一次的for循环填充一条边。class Solution { public int[][] generateMatrix(int n) { int[][] array = new int[n][n]; int up = 0,down = n-1,left = 0,right = n-1,index = 1; wh..

2021-03-30 01:14:16 107

原创 算法训练|滑动窗口

模式一:滑动窗口模式说明:输入一个数组或者字符串。求解的结果是具有某种特质的子数组或者子字符串。这种情况下,可以使用滑动窗口的方法求解。其中,滑动窗口是一个大小不固定的一个数组,最重要的就是判断这个数组的起始指针和结束指针如何移动。从上面这道题来看的话,如果满足条件,干掉左指针,即左指针向右移动一位,不满足条件的话,右指针向右移动一位....

2021-03-29 23:56:59 250

转载 windows环境下安装pymysql(操作带图)

在windows环境下安装pymysql,首先要找到python的安装位置,如果在c盘,启动cmd的时候,要获取管理员权限。具体步骤,一,管理员模式启动cmd。在箭头指定位置,搜索cmd,出现快捷方式后,右键,管理员权限打开。第二步,进入cmd命令中,安装pip。到这里,pymysql你就安装成功了。如果想卸载的话,可以用命令,pip uninstall pymysql...

2021-03-17 23:22:13 2122 4

原创 8086架构从BIOS到Bootloader

8086内存架构分布:当8086加电或复位时,发出的第一条指令为FFFF0,位于第一个区域,访问的是ROM芯片。在ROM中还固化了一些程序供我们写操作系统的时候调用,它包括了对键盘的使用程序,对鼠标的使用程序,以及对显示的输入,输出。我们可以对这些程序进行调用。继续上面,我们说,第一条指令跳转到FFFF0处,实际上这一处内存地址存放的是一条JUMP指令,用来进行地址的跳转,。用汇编代码来书写的话就是JMP 段地址:偏移地址(8086架构)在8086架构下,加电或复位(reset)之后,除了CS段

2021-03-11 10:44:00 514

转载 SpringBoot整合Minio

SpringBoot整合Minio教程从今天起,撸起袖子跟着我加油干前言使用Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以。提示:以下是本篇文章正文内容,下面案例可供参考一、技术介绍1.Minio是什么?MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/

2021-02-28 13:37:51 592

数据后台管理系统.rar

一个用Spring+SpringMVC实现的一个简单的数据后台管理系统模板

2021-01-29

itheima_spring_jdbc.rar

SSM学习笔记源码

2021-01-26

itheima_spring_aop.rar

SSM笔记三程序源代码

2021-01-26

learningSpringAnno.rar

SSM笔记二程序源码

2021-01-26

learningSpring.rar

SSM笔记一程序源码

2021-01-25

JSP投票系统.rar

JSP实现一个简单的投票系统

2021-01-17

学生成绩管理系统(C语言大作业).rar

运用链表实现的学生成绩管理系统,大一下学期C语言期末大作业

2021-01-10

超市商品分类管理系统(树结构的应用).rar

设计一个简单商品分类管理系统,对某超市商品进行分类存储和管理. (孩子兄弟法+父指针);商品信息描述如下:商品代码,商品名称,商品价格,商品数量。 基本要求 1、浏览当前商品分类目录的所有内容(子分类和当前目录下的商品); 2、切换当前分类目录到上一级分类目录或下一级子分类目录(扩展,切换到任何一个目录)或直接切换到根目录; 3、在当前分类目录下添加新商品目录,或者添加新商品信息; 4、在当前目录下删除某个子商品分类或某个商品信息; 5、在当前目录下修改某个商品或分类目录的信息; 6、根据某个商品编号(或名称)在整个系统中查找某个商品并显示全部信息; 7、至少3级目录,第一级目录

2021-01-09

空空如也

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

TA关注的人

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