fuckguidao的博客

呃……
私信 关注
fuckguidao
码龄5年

学习学习学习………………

  • 24,955
    被访问量
  • 32
    原创文章
  • 175,225
    作者排名
  • 7
    粉丝数量
  • 毕业院校 我告诉你作甚
  • 目前就职 wu
  • 于 2016-06-23 加入CSDN
获得成就
  • 获得25次点赞
  • 内容获得8次评论
  • 获得66次收藏
荣誉勋章
兴趣领域
  • #人工智能
    #深度学习#数据分析#神经网络#TensorFlow#算法#Python#自然语言处理#机器学习#PyTorch#图像处理
TA的专栏
  • 日常刷题
    21篇
  • 笔记
  • 前端
  • java
    1篇
  • c++
    2篇
  • 算法
    11篇
  • ACM学习日志
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

MEGAsyncSetup.dmg

这是Mega网盘安装包的MAC版本
dmg
发布资源于 1 小时前

MEGAsyncSetup.exe

mega网盘是国外最流行的网盘服务之一,由于某些原因,国内无法访问其官网,故无法从官网上下载安装包
exe
发布资源于 1 小时前

并查集的模板,优化与使用场景

并查集基本使用请参考oi-wiki常规一个不错的封装好的并查集写法class UnionFind{ public int[] fa; public UnionFind(int n){ fa = new int[n]; for(int i=0;i<n;i++)fa[i]=i; } public int find(int x){ if(fa[x]==x)return x; fa[x]=find(x);//路径压缩 return fa[x];
原创
11阅读
1评论
0点赞
发布博客于 22 天前

剑指offer 6 旋转数组的最小数字

采用二分法的思想采用二分法,主要是mid与一个target比较,普通的二分查找target是给出来的,但有时没有明确的target,比如这道题,这时一般选择端点当作target,即l或r。端点的选择问题:对与这道题,应该选择r,如图所示,倾斜的实线代表序列上升的趋势。选择r:当mid>r时,显然寻找的min在mid右边。所以区间放缩:l=mid+1。当mid<r时,min可能在mid的左边,但min也可能就是mid(因为min也小于r),所以区间放缩为:r=mid。当m
原创
43阅读
0评论
0点赞
发布博客于 8 月前

leetcode 124二叉树中最大路径和

思路这道题的解法很巧妙,我要着重介绍这道题。明确几个概念路径:这里的路径指的是,从树中的某个节点到另一个节点,包括终点和起点,仅有一个点也算是一条路径。路径和:这里的路径和指的是,路径中所有节点值的和。最大路径和:顾名思义,就是所有路径中最大的那条路径。明确经过一个节点的路径的三种情况这里我参考了官方题解里的说明。经过一个点的路径有三种情况(当然这里指的是一般情况)。left----root----parent(拐向父节点);right----root----parent(拐向父节点
原创
48阅读
0评论
0点赞
发布博客于 8 月前

剑指offer 4 重建二叉树

先序与中序遍历的数列是可以确定一棵树先序遍历数列的第一个节点必然是根节点。而该节点在中序遍历数列的中间,其左边的数列是左树的先序遍历序列,右边的是右树的中序遍历数列,由此递归。我这里用了一个hashmap,存放了中序遍历的值和下标的映射,以减少在递归过程中在中序序列中遍历寻找根节点下表的时间消耗。思路很简单,代码如下:/** * Definition for binary tree * public class TreeNode { * int val; * TreeNod
原创
51阅读
0评论
0点赞
发布博客于 8 月前

leetcode 125验证回文串

讲真,这道简单难度的题没什么好说的,直接上代码class Solution { //第一次写的 public boolean f1(String s){ char[] clist = new char[s.length()]; int index = 0; char c; for(int i=0;i<s.length();i++){ c = s.charAt(i);
原创
55阅读
0评论
0点赞
发布博客于 8 月前

剑指offer 2替换空格

这道题没什么可说的,java写没什么技术含量,c++才能体现出来这道题的意义java 写法public class Solution { public String replaceSpace(StringBuffer str) { StringBuffer ss = new StringBuffer(""); int n=str.length(); for(int i=0;i<n;i++){ if(str.charAt
原创
32阅读
0评论
0点赞
发布博客于 8 月前

leetcode 1028. 从先序遍历还原二叉树

解法1. 递归涉及到树的先序遍历立刻就想到了递归,如下是遵照二叉树先序遍历顺序写的递归做法。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { //直接在递归中解析字
原创
64阅读
0评论
0点赞
发布博客于 8 月前

剑指offer 3 从头到尾打印链表

三种做法1. 简单遍历到列表,然后反转2. 递归3. 反转链表,再遍历。/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }**/import java.util.ArrayList;public class Solution {
原创
46阅读
0评论
0点赞
发布博客于 8 月前

leecode 1014最佳观光组合

最优解法注意到,观光值为A[i]+i+A[j]-j.对每一个固定的j,最大的观光值为A[j]-j+max(A[i]-i),i<j。我们选择从头开始遍历j显然这个max(A[i]-i)是可以在遍历过程中维护的。同时遍历时也可计算观光值的最大值。所以时间复杂度为o(n),空间复杂度为o(1)。代码:class Solution { public int maxScoreSightseeingPair(int[] A) { int maxi = A[0];
原创
40阅读
0评论
0点赞
发布博客于 8 月前

leecode 297 二叉树的序列化与反序列化

首先是简单的层序遍历序列化时:搞个队列,层序遍历,记录成”**,“的形式,值得注意的是,Java中设计频繁的字符串修改时,不要使用String,选择StringBuffer或StringBuilder代替。原因是String是不可变对象,每次修改都会new对象从而产生较大的功耗。反序列化时:同样建个队列,挨个获取字符串中的数据,逐个为节点添加左右节点。因为之前序列化的时候就是采用这个顺序。代码:/** * Definition for a binary tree node. * public
原创
38阅读
0评论
0点赞
发布博客于 8 月前

每日刷题——看我能不能坚持下来……

特别声明之前一直想着刷题,想着把牛客的剑指offer和leecode的题目给刷一遍。但总是断断续续,今天,我打算给自己定个目标,每天都至少要刷一道leecode的题,一道剑指offer的题,并写博客记录题解和代码,也算是对自己的一个监督吧。目录2020年 6月16号:二维数组中的查找(二分)(剑指1.)...
原创
58阅读
0评论
0点赞
发布博客于 8 月前

牛客剑指offer 1.二位数组中的查找

最优解法借助于二分搜索的拓展。详见官方题解:以右上角的元素为基准,若attr<tag,则tag必定不在attr的正左边,范围减小一行,attr下移一格;若attr>tag,tag必定不在attr的正下方,范围缩减一列,attr左移一格;直至查遍所有元素。这种做法,每次缩减一格或一行,最坏情况下,时间复杂度为o(m+n) m,n为数组行数和列数。代码如下:public class Solution { public boolean Find(int target, int
原创
34阅读
0评论
0点赞
发布博客于 8 月前

leetcode 990 等式方程 (6-8刷题)

方法:并查集。思路:相等的关系可以传递,最终的结果集必然是若干个集合,每个集合里的变量拥有相同的值,即处在同一个连通分量里。而不等关系则是两个变量在不同的连通分量里。所以,先针对相等关系建立并查集,而后判断每个不等关系是否都满足即可。代码:class Solution { // 并查集,这里并查集的根节点与下标相等。 public int[] parent=new int[26]; public int findParent(int t){ while(par
原创
39阅读
0评论
0点赞
发布博客于 9 月前

leetcode 42.接雨水——双指针

题目链接 传送门解析我承认一开始想复杂了,一看答案发现自己是个沙雕。我一开始居然往极值和差分那个方向去想了,还有就是题目居然标的是困难,唉。官方题解有四种方案暴力动态规划栈双指针。前三种,看官方题解就行,属于一点就通的方法。只是第四种方法即双指针法我不是很熟悉,所以觉得有点嚼头。我并没有死扣官方的代码,而是在题解点出的方向上自己重构的代码。思路如下首先,在写动态规划...
原创
95阅读
0评论
0点赞
发布博客于 1 年前

leetcode 169. 多数元素——摩尔投票算法

题目链接 传送门摩尔投票算法见leetCode 的题解https://leetcode-cn.com/problems/majority-element/solution/duo-shu-yuan-su-by-leetcode-solution/代码class Solution { public int majorityElement(int[] nums) { ...
原创
48阅读
0评论
0点赞
发布博客于 1 年前

leetcode 1111. 有效括号的嵌套深度——栈处理括号嵌套

题目链接 传送门思路代码:class Solution { public int[] maxDepthAfterSplit(String seq) { int top=0; char[] c=seq.toCharArray(); int[] ans=new int[c.length]; for(int i=0;i<...
原创
42阅读
0评论
0点赞
发布博客于 1 年前

leetcode 912. 排序数组——解法汇总,计数排序o(n),快速排序、归并排序、堆排序

题目链接传送门说明代码class Solution { public int[] sortArray(int[] nums) { //排序? //计数排序o(n) // sortTong(nums); //归并 // int[] temp=new int[nums.length]; // ...
原创
43阅读
0评论
0点赞
发布博客于 1 年前

leetcode 62. 圆圈中最后剩下的数字,约瑟夫环

链接 https://leetcode-cn.com/problems/yuan-quan-zhong-zui-hou-sheng-xia-de-shu-zi-lcof/官方题解写的就不错https://leetcode-cn.com/problems/yuan-quan-zhong-zui-hou-sheng-xia-de-shu-zi-lcof/solution/yuan-quan-zho...
原创
66阅读
0评论
0点赞
发布博客于 1 年前

The Trip On Abandoned Railway题解 二次差分树状数组

题目链接传送门题目描述题目大意是,一条废弃的地铁路线上有n个火车站,第i个火车站初始盘踞着ai个鬼鬼。然后有一辆幽灵列车会突然从某个车站出现,并从车上下来x个鬼。即该车站鬼魂数量+x。列车会一路行驶直至终点,每经过一个车站,从列车上下来的鬼魂数量就比前一个车站下来的多d个即从车上下来x+k*d个鬼魂,其中k为从列车出现经过的车站数。另有一个驱魔师,到了某个车站后,就将该车站的所有鬼魂全部...
原创
59阅读
0评论
0点赞
发布博客于 1 年前

顺时针打印二维矩阵

问题输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵:1 2 3 45 6 7 89 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.解决方案代码public static void solution(int[][] a){ ...
原创
67阅读
0评论
0点赞
发布博客于 1 年前

位数差 题解

题目链接传送门知识点二分题解题解摘自https://www.cnblogs.com/wsy107316/p/12334575.html按从大大到小排好的数组里,a[i]会与后面较小的数相加求位数后再累加,即计算∑0≤i<j≤n bit(a[i]+a[j]) 的值验证可知一个数k加上一个小于等于k的数后,其数位要么+1(产生进位),要么不加(没有产生进位)由于数组是降序排序...
原创
110阅读
0评论
0点赞
发布博客于 1 年前

二分法搜索临界点

二分最基础的二分查找是在有序数组里寻找某个值。如对升序序列a = {0,1,2,3,4,5,6,7,8,9}代码:int find(int *a,int l,int r,int k){ while(l<=r){ int mid=(l+r)>>1; if(a[mid]==k)return mid; if(a[mid]>k)r=mid-1; e...
原创
84阅读
0评论
0点赞
发布博客于 1 年前

小L 的序列 解析

小L 的序列 解析题目链接传送门知识点位运算,数据范围i&1 提取最后一位是否为1i>>1= i/2 左移一位这道题有个坑,被我完全踩进去了,数据范围是2^31-1 到 -2^31-1正好是int的范围,所以我果断用了int ,然后就gg了题目中有一个求绝对值的操作,所以负数部分一变成正的就超int 了换成long后就行了代码#include <io...
原创
76阅读
0评论
0点赞
发布博客于 1 年前

little w and Exchange 解析

little w and Exchange 解析题目链接传送门这是一道思维题,对于输出的n个数,如果这n个数可以任意组合相加成1~m的数,则输出YES。没做出来,看了解析解析就两句话:定义有n张纸币,且存在m,使得这n张纸币可以通过任意组合构成不超过m元的任意值,则n符合用a[n+1]表示第n+1张纸币的值,当a[n+1] <= m+1 时n+1才符合证明:反证法:若a[n...
原创
49阅读
0评论
0点赞
发布博客于 1 年前

java基础

本人学习java时,做的java基础知识总结:写代码:1,明确需求。我要做什么?2,分析思路。我要怎么做?1、2、3 。3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。4,代码实现。用具体的java语言代码把思路体现出来。学习新技术的四点:1,该技术是什么?2,该技术有什么特点(使用注意):3,该技术怎么使用。demo4,该技术什么时候用?test。一:java概述:...
转载
36阅读
0评论
0点赞
发布博客于 1 年前

python 实现 纹理图片分类识别 SVM支持向量机 图片资源与代码

题目是将图片库中的纹理图片裁剪成九份,其中五份做训练集,四份做测试集,先提取图片LBP特征 ,最后用svm支持向量机进行学习,在预测测试集里的图片是哪一类纹理。 正常情况下是需要调参的,即调整SVM的参数,但图省事只整了个循环,正常应该手动调参的。
zip
发布资源于 2 年前

关于QT在界面中添加自制控件的方法

前些天实训时,要做一个界面,需要在界面上用到仪表盘,但qt并没有好看的仪表盘组件,设计ui的时候无法添加。于是我们想到从网上找一些别人已经做好的仪表盘控件,来添加到我们的界面中。但是遇到了一些问题。如代码所示#ifndef CUSTOMDIALPLOT_H#define CUSTOMDIALPLOT_H#include &lt;QWidget&gt;class CustomDia...
原创
2926阅读
1评论
0点赞
发布博客于 3 年前

qt做的聊天软件,代码(之前传的资源忘记加代码了)

之前传的资源忘记加代码了,这个是那个的代码 qt网络编程,以json格式进行传输,服务器,与客户端,实现多用户链接,群聊私聊用户列表等功能,对初学网络编程者有学习价值
rar
发布资源于 3 年前

QT做的聊天软件,客户端和服务器

自己用qt做的聊天室软件,有群聊,私聊和用户列表,客户端和服务器都有,exe文件,文件夹里面有所需要的dll文件,可在windows上直接运行。其中untitled.exe是服务器,chatclient.exe是客户端,链接时,输入服务器IP,端口号是10086,多个用户之间可进行群发和私法等功能。
rar
发布资源于 3 年前

算法设计学习日志———关于快速排序

今天的内容是快速排序,可以说是为了补上次博客的坑吧问题描述思考分析 实现解决源代码改进与总结 1.问题描述   排序,一直是一种比较热门的算法话题,有人已经证明了经典排序的时间复杂度下限为o(nlogn),越是好的算法越是接进这个时间复杂度的。   对一个长度为n的无序数组,对其进行排序,这就是我们今天要解决的问题   这一次我要写的是——快速排序,它的平...
原创
174阅读
0评论
0点赞
发布博客于 3 年前

算法设计学习日志---线性时间选择

早就开始学算法了,但一直没有特别用功学,现在我决定了,两天解决一个经典算法问题,并且写成博客,既是自我监督,以后忘了的话也好复习。 今天的内容是线性时间选择,1. 问题描述 2. 思考分析 3. 实现解决 4. 程序清单 5. 总结分析 1. 问题描述   线性时间选择问题的引入需要先通过解决下面的问题来深入。 “给我们一个没有排好序的数组,要求其中第k小的元素的值。”
原创
399阅读
2评论
2点赞
发布博客于 3 年前

pcre-8.42.zip

PCRE(PerlCompatibleRegularExpressions)是一个Perl库,包括perl兼容的正则表达式库。这些在执行正规表达式模式匹配时用与Perl5同样的语法和语义是很有用的。
zip
发布资源于 3 年前

nginx-0.8.36.tar.gz

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx特点是占有内存少, 并发能力强。中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
gz
发布资源于 3 年前

位运算

本篇文章转自他人,原址链接:位运算总结 按位与运算符(&amp;)参加运算的两个数据,按二进制位进行“与”运算。运算规则:0&amp;0=0;&nbsp;&nbsp;0&amp;1=0;&nbsp;&nbsp;&nbsp;1&amp;0=0;&nbsp;&nbsp;&nbsp;&nbsp;1&amp;1=1;&nbsp;
转载
136阅读
0评论
1点赞
发布博客于 3 年前

大数运算思想----大数阶乘

haha呃……今天学习了大数阶乘的求法 代码如下#include&lt;iostream&gt;using namespace std;int main(){ int c[20001]; int di=1;//位数初始为一; c[0]=1; int num=0;//进位初始为0; int n=1000;//求n!,求1000! f...
原创
1922阅读
0评论
5点赞
发布博客于 3 年前

单源最短路径---Dijkstra算法

有这样一道题:在一个图(如图所示)中,一共有四个点:1 2 3 4这四个点之间各有相连,且每条边都有自己的权值。现在小明在点1上,他想要到3去,请问最短路径是多少。很容易得到该图的邻接矩阵。我们建立一个二维数组a。a[i][j],i表示 起点,为行,j表示终点,为列。将相应的权值传入其中,如果从一个 点到另一个点不通,就认为其权值为无限例如(1-》2)为2,则a...
原创
16386阅读
4评论
16点赞
发布博客于 3 年前

使用“哨兵”减小时间复杂度

今天介绍一个很简单的算法,虽然简单,对于减少运行时间却有挺好 的效果。问题描述:对一个数组,该数组存放的数各都不同,即有唯一性。 对该数组进行查找,返回数据对应为a的序号。 如data[4]=a,就返回一个4。常规的做法是这样的://假设 数组长度为10int check(int a){ for(int i=0;i<10;i++) if(data[i]==a) re
原创
446阅读
0评论
0点赞
发布博客于 4 年前

多源最短路径——floyd-Warshall算法的拓展

多源最短路径——floyd-Warshall算法的拓展关于多源最短路径算法,我看了一下别人的博客——gooddeep的博客 总之核心代码就是五行。 for(int k=1;k<5;k++) for(int i=1;i<5;i++) for(int j=1;j<5;j++) if(infor[i][j]>infor[i][k]+infor[k
原创
343阅读
0评论
1点赞
发布博客于 4 年前

c++ new的用法

new关键字返回一个地址(即指针)::动态分配内存,自动在全剧中创建空间直到遇到delete关键字或程序终止,才销毁数据释放内存。例:int *num_ptr = new int(10);//创建一个int类型指针 指向10double* dou_ptr = new double(5.0);//……int *Aptr= new int[8];//指向数组 第一个数;不能直接赋值int *
原创
400阅读
0评论
0点赞
发布博客于 4 年前