5 wyg1997

尚未进行身份认证

我要认证

恰如猛虎卧荒丘,潜伏爪牙忍受。

等级
TA的排名 3k+

【Leetcode】26.只出现一次的数字III(位运算)

题目链接点击打开链接题目描述题解两个位运算异或:两个相同的数异或结果为0;0和任意值异或结果为那个数。x&(-x):结果为x的二进制位的最后一位。举个例子(第一位为符号位):10 -> (0 00000…000 1010)b-10 -> (1 11111…111 0110)b负数的二进制变换方式是:1. 按位取反。 2. 末位加1。这时两个数进行...

2020-04-15 11:53:15

【Leetcode】23.合并K个排序链表(最小堆)

题目链接点击打开题目题目描述题解有多种方法,这个题我使用最小堆的方法。首先了解一下最小堆的概念:最小堆 构建、插入、删除的过程图解解题步骤首先以各链表的头指针为结点构建一棵完全二叉树。按最小堆的形式整理二叉树。取二叉树的根结点,连在结果链表后。用根结点所在链表的下一个结点作为根结点,并重新更新为最小堆。如果没有下一个结点了,则填入一个正无穷结点。重复第3步,直到根结点为正...

2020-04-14 20:17:42

【Leetcode】144.二叉树的前序遍历(非递归,Morris算法)

题目链接点击打开题目链接题目描述题解递归递归的解法非常简单,代码也比较精简。时间复杂度为O(n)O(n)O(n),空间复杂度为O(n)O(n)O(n)。dfs用栈(Stack)来保存结点,类似递归。时间复杂度为O(n)O(n)O(n),空间复杂度为O(n)O(n)O(n)。Morris算法这个算法每个结点需要遍历2次,所以时间复杂度要比之前两种高一些,但是空间复杂度仅为O(1)...

2020-03-11 12:05:50

【NYoj】34 - 韩信点兵(CRT)

点击打开题目韩信点兵时间限制:3000ms | 内存限制:65535KB难度:1描述相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)

2016-08-01 20:51:51

【Leetcode】142.环形链表-ii(快慢指针)

题目链接点击打开链接题目描述题解是否是循环链表使用快慢指针法,慢指针一次走1个结点,快指针一次走2个结点,从头开始走会出现下面两种情况:快指针变成NULL,说明链表不循环。快慢指针相遇,说明链表循环,但循环节的起始位置未知。注意这里快指针走的路程是慢指针走的路程的2倍。找出循环节的起始位置上一步相遇的位置是个关键,在这一结点上,快指针走的路程 = 慢指针走的路程 *...

2020-03-09 18:39:48

【Leetcode】137.只出现一次的数字(逻辑运算推导)

题目链接点击打开链接题目描述解题思路首先我们分析一下题意,一个数组中只有一个数出现了1次,其余的数都出现了3次。并且要求O(n)O(n)O(n)的时间复杂度和O(1)O(1)O(1)的空间复杂度。也就是不能用线性表、HashSet、HashMap这些数据结构了。解法一这题还是从二进制位来考虑,分以下2种情况:如果这个二进制位出现了3n次1(3次、6次、9次等),那么就说明结果在这...

2020-03-06 11:55:44

【Leetcode】5.最长回文子串(Manacher算法)

题目链接点击打开题目题目描述题解这题二刷的时候又忘了怎么做了,实在是不应该,以后还得用博客记一下。常规做法就是以每个字母为中心,向两个方向搜索结果,时间复杂度为O(n2)O(n^2)O(n2)。而Manacher(马拉车?)算法是一个高效且巧妙的O(n)O(n)O(n)算法。算法核心思想因为是回文串,所以串的对称位置上的字符可以算法步骤预处理字符串:把字符串每个字符中间...

2020-03-02 16:59:50

博客迁移说明

之前在csdn上的博客主要是上学期间打ACM比赛做题的题解,以及大学课程学习内容的记录与代码实现。之后工作所用到知识的相关博文会更新在我的Github Page中,欢迎大家的访问及评论,链接:porkbar.cn...

2019-12-20 10:42:30

【Docker】docker命令记录

Docker命令记录平时使用docker的时候总是忘了一些命令,每次使用忘了都要重新查,比较麻烦。现在整理一下。文章目录Docker命令记录添加用户到docker组步骤拉取镜像查看计算机中有的`Docker Images`创建容器两个命令后台型容器前台型容器创建一个正常的容器挂载本地目录添加端口映射查看容器查看正在运行的容器查看所有容器,包括关闭的退出容器退出关关闭容器暂退容器停止正在运行的容...

2019-10-28 14:04:24

【vscode】Remote-ssh服务器端vscode-server安装失败

错误原因服务器要获取和本地相同版本的vscode-server,需要 wget 向 update.code.visualstudio.com 获取资源下载。然而没有代理服务器又连不上这个地方,就报一个超时的错误。错误解决看vscode中输出的内容有一个commit-id,这个id也对应了github上vscode某个release版本的id。直接用本地电脑访问 https://update...

2019-09-26 18:30:30

Caffe源码解读 - 总览

Caffe源码解读类图SyncedMem类该类是caffe数据存储的最底层,里面规定了什么时候分配内存(显存),数据的存储位置以及数据的指针,封装了CPU和GPU之间数据交互的方法,并提供简单的接口进行数据的操作。Blob类Blob是caffe基本的数据结构,其主要做了两种封装:一个Blob中封装了data_和diff_两个数据指针,分别表示存储的参数和反向传播时计算的梯度。...

2019-05-13 18:30:13

牛客刷题 - 网易2018校招编程题(思维 & 贪心)

这套题的难受还是有的,不过有些题想想还是可以做的,只是有些题用暴力的方法感觉有点失望。Q1:解题思路:这个题很明显,一个只能产奇数,一个只能产偶数,倒着分奇偶跑一遍就行啦~代码如下:#include &amp;lt;cstdio&amp;gt;#include &amp;lt;stack&amp;gt;#include &amp;lt;queue&amp;gt;#include &amp;lt;cmath&amp;gt;#include &amp;...

2018-10-08 17:58:32

牛客刷题 - 2017百度春招(暴力 & 思维 & dp)

一共五道题,前三道没什么难度,暴力枚举就可以了。后两道需要想想,但是也不难(dp还是我的弱项啊)Q1:解题思路:这个没什么说的,随便都能过。代码如下:#include &amp;amp;amp;amp;lt;cstdio&amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;lt;stack&amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;lt;queue&amp;amp;amp;amp;gt;

2018-09-25 23:08:35

牛客刷题 - 腾讯2017暑期实习笔试(LCS & 暴力 & 计数)

一共三道题,感觉第一题要想想,剩下两道比较简单,直接做就行了Q1:解题思路:对字符串进行翻转后,求一下最长公共子序列就是最长的回文串,用总长度减去最长回文串的长度即为要删去的字符数代码如下:#include&amp;lt;cstdio&amp;gt;#include&amp;lt;stack&amp;gt;#include&amp;lt;queue&amp;gt;#include&amp;lt;cmath&amp;gt;#include&amp;l...

2018-09-24 18:48:02

SSD源码解读 - multibox_loss_layer

上一篇博客说了DetectionOut层怎么从conf、loc、prior中获取检测框,是检测的关键代码。现在我们回到训练环节,看一下Mutibox层是怎么计算loss并完成反向传播的。首先贴一个MutiboxLoss层的prototxt配置:layer { name: &quot;mbox_loss&quot; type: &quot;MultiBoxLoss&quot; bottom: &quot;CatBac...

2018-09-13 11:49:17

SSD源码解读 - detection_output_layer

这段代码是DetectionOut层的实现,表示怎么从PriorBox、loc、conf三个层得到检测框的。源码如下:detection_output_layer.cpp#include &amp;lt;algorithm&amp;gt;#include &amp;lt;fstream&amp;gt; // NOLINT(readability/streams)#include &amp;lt;map&amp;gt...

2018-08-31 16:13:44

SSD源码解读 - prior_box_layer

一直不是很理解检测结果是怎么出来的,学习最快的方法就是看源码啦,今天先从prior box层开始。 这层的作用就是对不同位置的每个特征点产生不同大小的default box,这些box的大小、形状由prototxt的prior_box_param来控制。随便拿出一个模型的prior box层来举例:layer { name: &amp;quot;base_11_priorbox&amp;quot; type: &amp;quot;P...

2018-08-30 19:15:42

Caffe-Ristretto源码解读

由于当前任务是量化网络模型,用到了caffe的Ristretto,这里解读一下源码以便以后自己灵活运用首先看一下量化模型时的脚本:#!/usr/bin/env shfolder=examples/ristretto/carperson_wygecho ${folder}LD_LIBRARY_PATH=/usr/local/lib/./build/tools/ristretto ...

2018-08-10 18:27:57

吴恩达机器学习 - 推荐系统

题目链接:点击打开链接笔记: 每个算法最重要的莫过于代价函数了:公式:求代价:求梯度:Code(cofiCostFunc.m):function [J, grad] = cofiCostFunc(params, Y, R, num_users, num_movies, ... ...

2018-06-25 22:26:51

吴恩达机器学习 - 异常检测

题目链接:点击打开链接笔记: 数据可视化:load('ex8data1.mat');% Visualize the example datasetplot(X(:, 1), X(:, 2), 'bx');axis([0 30 0 30]);xlabel('Latency (ms)');ylabel('Throughput (mb/s)');效果图:...

2018-06-25 21:09:33

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。