自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Cigar

悟已往之不谏,知来者之可追。

  • 博客(59)
  • 资源 (3)
  • 收藏
  • 关注

原创 05.02. 二进制数转字符串

原题目面试题 05.02. 二进制数转字符串二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字不在0和1之间,或者无法精确地用32位以内的二进制表示,则打印“ERROR”。示例1: 输入:0.625 输出:"0.101"示例2: 输入:0.1 输出:"ERROR" 提示:0.1无法被二进制准确表示提示:32位包括输出中的"0."这两位。第一次解法二进制小数点后权重依次为0.5, 0.25, 0.125, …

2020-11-17 23:29:59 7

原创 05.01 插入

原题目面试题 05.01. 插入难度简单20收藏分享切换为英文接收动态反馈插入。给定两个32位的整数N与M,以及表示比特位置的i与j。编写一种方法,将M插入N,使得M从N的第j位开始,到第i位结束。假定从j位到i位足以容纳M,也即若M = 10 011,那么j和i之间至少可容纳5个位。例如,不可能出现j = 3和i = 2的情况,因为第3位和第2位之间放不下M。示例1: 输入:N = 1024(10000000000), M = 19(10011), i = 2, j = 6 输出:N = 11

2020-11-17 22:50:28 8 2

原创 Java常用集合的一些操作方法

Java集合基本概述Java集合实现了接口和实现类相分离,同时支持泛型。在数据结构课上,我们可能对物理结构和逻辑结构有所了解。物理结构:顺序表、链表 …逻辑结构:线性表、队列、栈 …在Java中数据的物理结构对应着实现类,逻辑结构对应着接口。如下图所示黄色框为物理结构,对应着实现类。绿色框为逻辑结构,对应着接口。因为接口的可操作范围较小,所以通常用接口来接管实现类,这样在编译期间就可以避免一些错误,如下:// 我们明确需要使用一个队列 (Java中没有实现顺序队列,因为队列大

2020-11-17 15:32:34 17

原创 04.12 求和路径

原题目面试题 04.12. 求和路径给定一棵二叉树,其中每个节点都含有一个整数数值(该值或正或负)。设计一个算法,打印节点数值总和等于某个给定值的所有路径的数量。注意,路径不一定非得从二叉树的根节点或叶节点开始或结束,但是其方向必须向下(只能从父节点指向子节点方向)。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4

2020-11-16 23:09:28 9

原创 04.10 检查子树

原题目面试题 04.10. 检查子树检查子树。你有两棵非常大的二叉树:T1,有几万个节点;T2,有几万个节点。设计一个算法,判断 T2 是否为 T1 的子树。如果 T1 有这么一个节点 n,其子树与 T2 一模一样,则 T2 为 T1 的子树,也就是说,从节点 n 处把树砍断,得到的树与 T2 完全相同。示例1: 输入:t1 = [1, 2, 3], t2 = [2] 输出:true示例2: 输入:t1 = [1, null, 2, 4], t2 = [3, 2] 输出:false提

2020-11-16 19:44:23 13

原创 04.06 后继者

原题目面试题 04.06. 后继者设计一个算法,找出二叉搜索树中指定节点的“下一个”节点(也即中序后继)。如果指定节点没有对应的“下一个”节点,则返回null。示例 1:输入: root = [2,1,3], p = 1 2 / \1 3输出: 2示例 2:输入: root = [5,3,6,2,4,null,null,1], p = 6 5 / \ 3 6 / \ 2 4 / 1输出: null第一遍解

2020-11-10 21:02:32 10

原创 04.05 合法二叉搜索树

原题目面试题 04.05. 合法二叉搜索树实现一个函数,检查一棵二叉树是否为二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 / \ 3 6输出: false解释: 输入为: [5,1,4,null,null,3,6]。 根节点的值为 5 ,但是其右子节点值为 4 。第一遍解法中序遍历二叉搜索树,元素值递增。使用了preVal来保存上一个节点的值,此处假

2020-11-10 19:54:03 28

原创 04.04 检查平衡性

原题目面试题 04.04. 检查平衡性实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4] 1 / \ 2 2 / \ 3 3 / \4 4返

2020-11-10 18:52:11 24

原创 04.03 特定深度节点链表

原题目面试题 04.03. 特定深度节点链表给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表)。返回一个包含所有深度的链表的数组。示例:输入:[1,2,3,4,5,null,7,8] 1 / \ 2 3 / \ \ 4 5 7 / 8输出:[[1],[2,3],[4,5,7],[8]]第一遍解法BFS,树的层次遍历。在whi

2020-11-09 23:46:41 25

原创 04.02 最小高度树

原题目面试题 04.02. 最小高度树给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 5 第一遍解法题目中告诉数组是有序的,为了求最小高度,所以我们使用中间的元素作

2020-11-09 22:40:37 32

原创 04.01 节点间通路

原题目面试题 04.01. 节点间通路节点间通路。给定有向图,设计一个算法,找出两个节点之间是否存在一条路径。示例1: 输入:n = 3, graph = [[0, 1], [0, 2], [1, 2], [1, 2]], start = 0, target = 2 输出:true示例2: 输入:n = 5, graph = [[0, 1], [0, 2], [0, 4], [0, 4], [0, 1], [1, 3], [1, 4], [1, 3], [2, 3], [3, 4]], st

2020-11-09 21:58:58 11

转载 浅析Java中的final关键字

原文地址:(浅析Java中的final关键字)[https://www.cnblogs.com/dolphin0520/p/3736238.html]

2020-11-09 15:53:39 5

原创 02.08 环路检测

原题目面试题 02.08. 环路检测给定一个链表,如果它是有环链表,实现一个算法返回环路的开头节点。有环链表的定义:在链表中某个节点的next元素指向在它前面出现过的节点,则表明该链表存在环路。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node index 1解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:tail connects to node index

2020-11-07 21:33:27 12

原创 02.07 链表相交

原题目面试题 02.07. 链表相交给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8

2020-11-07 20:22:58 13

原创 02.06 回文链表

原题目面试题 02.06. 回文链表编写一个函数,检查输入的链表是否是回文的。示例 1:输入: 1->2输出: false 示例 2:输入: 1->2->2->1输出: true 进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?第一遍解法回文数正序与倒数一样,所以想到了头插法逆序的性质。使用头插法创建一个新的链表,因与原链表逆序。从头至尾,依次比较两个链表,若全相等,则认为是回文链表。class Solution {pub

2020-11-03 23:17:25 3

原创 02.05 链表求和

原题目面试题 02.05. 链表求和给定两个用链表表示的整数,每个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。示例:输入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295输出:2 -> 1 -> 9,即912**进阶:**思考一下,假设这些数位是正向存放的,又该如何解决呢?示例:输入:(6 -> 1 -> 7) + (2 -> 9 -

2020-11-03 21:52:32 6

原创 02.04 分割链表

原题目面试题 02.04. 分割链表编写程序以 x 为基准分割链表,使得所有小于 x 的节点排在大于或等于 x 的节点之前。如果链表中包含 x,x 只需出现在小于 x 的元素之后(如下所示)。分割元素 x 只需处于“右半部分”即可,其不需要被置于左右两部分之间。示例:输入: head = 3->5->8->5->10->2->1, x = 5输出: 3->1->2->10->5->5->8第一遍解法创建一个新链表,遍历

2020-10-31 10:09:07 35

原创 02.03 删除中间节点

原题目面试题 02.03. 删除中间节点实现一种算法,删除单向链表中间的某个节点(即不是第一个或最后一个节点),假定你只能访问该节点。示例:输入:单向链表a->b->c->d->e->f中的节点c结果:不返回任何数据,但该链表变为a->b->d->e->f解法通过交换前后节点的值,然后再删除后一个节点。/** * Definition for singly-linked list. * struct ListNode { *

2020-10-30 22:00:10 11

原创 02.02 返回倒数第k个节点

原题目面试题 02.02. 返回倒数第 k 个节点实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。**注意:**本题相对原题稍作改动示例:输入: 1->2->3->4->5 和 k = 2输出: 4说明:给定的 k 保证是有效的。第一遍解法头插法会使链表倒序,先使用头插法创建一个新链表,然后返回第k个节点的值即可。/** * Definition for singly-linked list. * struct ListNode { *

2020-10-29 23:31:45 22

原创 02.01 移除重复节点的值

原题目面试题 02.01. 移除重复节点编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。示例1: 输入:[1, 2, 3, 3, 2, 1] 输出:[1, 2, 3]示例2: 输入:[1, 1, 1, 1, 2] 输出:[1, 2]提示:链表长度在[0, 20000]范围内。链表元素在[0, 20000]范围内。进阶:如果不得使用临时缓冲区,该怎么解决?第一遍解法思路,从前至后依次访问节点,使用set容器保存pre节点的值,若cur节点的值在set容器中存

2020-10-29 22:45:33 37

原创 01.09 字符串轮转

原题目面试题 01.09. 字符串轮转字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。示例1: 输入:s1 = "waterbottle", s2 = "erbottlewat" 输出:True示例2: 输入:s1 = "aa", s2 = "aba" 输出:False提示:字符串长度在[0, 100000]范围内。说明:你能只调用一次检查子串的方法吗?第一遍解法思路:

2020-10-29 19:56:53 19

原创 01.08 零矩阵

原题目面试题 01.08. 零矩阵编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。示例 1:输入:[ [1,1,1], [1,0,1], [1,1,1]]输出:[ [1,0,1], [0,0,0], [1,0,1]]示例 2:输入:[ [0,1,2,0], [3,4,5,2], [1,3,1,5]]输出:[ [0,0,0,0], [0,4,5,0], [0,3,1,0]]第一遍解法集合,首先应该

2020-10-29 19:27:05 6

原创 01.07 旋转矩阵

原题目面试题 01.07. 旋转矩阵给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不占用额外内存空间能否做到?示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]]示例 2:给定 matrix =[ [ 5, 1, 9,11], [ 2, 4, 8,10],

2020-10-28 21:56:14 8

原创 01.06 字符串压缩

原题目面试题 01.06. 字符串压缩字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。示例1: 输入:"aabcccccaaa" 输出:"a2b1c5a3"示例2: 输入:"abbccd" 输出:"abbccd" 解释:"abbccd"压缩后为"a1b2c2d1",比原字符串长度更长。提示:字符串

2020-10-28 20:00:51 12

原创 01.05 一次编辑

原题目面试题 01.05. 一次编辑字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。示例 1:输入: first = "pale"second = "ple"输出: True示例 2:输入: first = "pales"second = "pal"输出: False第一遍解法双指针,给first字符串定义两个指针fb和fe,分别指向其串首和串尾。给second字符串定义两个指针sb

2020-10-27 22:59:07 78

原创 01.04 回文排列

原题目面试题 01.04. 回文排列给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。回文串不一定是字典当中的单词。示例1:输入:"tactcoa"输出:true(排列有"tacocat"、"atcocta",等等)来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/palindrome-permutation-lcci/第一遍解法哈希表,使用哈希表来保存

2020-10-27 21:42:59 15

原创 01.03 URL化

原题目面试题 01.03. URL化URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)示例1: 输入:"Mr John Smith ", 13 输出:"Mr%20John%20Smith"示例2: 输入:" ", 5 输出:"%20%20%20%20%20"提示:字符串长度在[0, 500000]

2020-10-27 19:51:56 53

原创 01.02 判定是否互为字符重排

原题目面试题 01.02. 判定是否互为字符重排给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。示例 1:输入: s1 = "abc", s2 = "bca"输出: true 示例 2:输入: s1 = "abc", s2 = "bad"输出: false说明:0 <= len(s1) <= 1000 <= len(s2) <= 100来源:力扣(LeetCode)链接:https://lee

2020-10-27 19:51:06 11

原创 01.01 判断字符串是否唯一

原题目面试题 01.01. 判定字符是否唯一实现一个算法,确定一个字符串 s 的所有字符是否全都不同。示例 1:输入: s = "leetcode"输出: false 示例 2:输入: s = "abc"输出: true限制:0 <= len(s) <= 100如果你不使用额外的数据结构,会很加分。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/is-unique-lcci第一遍解法使用unordered

2020-10-27 19:49:30 21

原创 在Ubuntu16.04上安装OpenPose

Ubuntu16.04 安装 OpenPose先说一点废话,大家可以直接跳到下面安装步骤。最近在项目上要进行人物的姿态检测,听说Openpose在姿态检测上面应用还挺广的,所以打算试着跑一下Openpose模型。openpose是基于caffe的,用之前需要使用cmake进行编译,由于之前只在pytorch运行模型,所以安装OpenPose的时候还是跳了很多坑,花了四五天的时间,最后终于能够成功运行了!(心酸),回过头来发现似乎也不是那么难。怕以后忘记,所以在头脑最清晰的时候赶紧写个博客来记录一下,但愿不

2020-07-29 23:54:37 112

原创 Django官方教程总结(二)

Django官方教程总结(二)建立SQLite数据库创建模型Django提供自动生成的管理页面数据库配置在Django中,默认使用了自带的SQLite数据库,为一个文件,保存在项目的根目录下。# mysite/settings.pyDATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'

2020-06-03 13:07:01 66

原创 Django官方教程总结(一)

安装Python和Django这部分不用多说,直接参考官方安装教程。创建一个项目在Django中,项目和应用是有区别的,一个项目通常包括多个应用。比如携程,我们可以将整个app视为一个项目。这个项目分成了很多子模块,比如预定酒店、票务购买以及旅游等,这些子模块则称为应用。所以一个项目应至少有一个应用。打开命令提示符,cd到一个放置代码的路径,运行如下命令来创建一个项目:# 创建一个名称为mysite的项目django-admin startproject mysite运行:python

2020-06-02 00:24:59 134

原创 如何在Colab中导入自定义的包

如何在Colab中导入自定义的包Colab中的文件保存在Google Drive,所以我们需要将要导入的包上传到Google Drive。Google Drive 传送门Colab上编写的代码会被默认放在Colab NoteBooks文件夹下,在这个文件夹下,上传了d2lzh_pytorch包为后续调用。需要在开头写入如下代码import sysfrom google.colab...

2020-04-14 12:39:19 1786 1

原创 C++: cin与getline输入字符串时的区别

C++: cin与getline输入字符串时的区别cin >> your_string通过std::cin >> your_string来输入字符串时,如果输入的字符串开头为空格符、制表符和回车符时会忽略这些符号,从后续字符作为开始输入。std::string your_string = "";std::cin >> your_string; //...

2020-01-02 22:39:49 325

原创 VS2013+Opencv3.0.0永久配置方法

前言:由于VS2013最多支持到VC12,我下了很多opencv3的其他版本,并没有支持VC12的版本,最后在opencv3.0.0中发现了VC12。本文分别将在32位和64位编译器上进行配置。opencv3.0.0下载地址环境变量配置我们在系统变量中的Path中添加如下两个环境变量:将x64和x86都包括进来,是为了既能够同时在32位编译器和64位编译器下...

2019-11-22 19:39:16 172

原创 深度学习部署在Linux上的常用命令

sudo命令sudo命令能够让普通用户执行一些root用户才能执行的命令,所以在挂载时没有必要先切换回root用户,只需在命令前加上sudo即可,为了更加的方便。切换到root用户与切换回普通用户# 切换到root用户sudo su# 切换回普通用户,退出即可exit查看系统当前挂载的所有硬盘sudo fdisk -l挂载与解挂sudo mount device_path...

2019-10-24 22:32:31 129

原创 [一] Matplotlib入门

Matplotlib库入门使用plot绘制坐标图使用subplot进行子图绘制中文显示文本显示Matplotlib库由各种可视化类构成,内部结构非常复杂,为了降低使用的难度,官方提供了matplotlib.pyplot接口,该接口是绘制各类可视化图形的命令子库,相当于一个快捷方式,所有的绘图操作都可以在matplotlib.pyplot接口中完成。使用plot绘...

2019-09-29 12:20:32 82

原创 [二] Numpy数据存取与函数

Numpy数据存取与函数一维和二维数据的存取CSV文件, np.loadtxt(), np.savetxt()多维数据的存取a.tofile(), np.fromfile()np.save(), np.load()numpy的随机函数(np.random)rand(), randn(), randint(), seed()shuffle(),...

2019-09-28 13:43:34 77

原创 [一] Numpy入门

[一] Numpy入门传统计算方法与numpy比较ndarray数组的属性ndarray数组的创建ndarray数组的变换ndarray数组的索引和切片ndarray数组的运算In [2]:import numpy as np传统计算方法与numpy比较In [4]:def pySum(): a = [0, 1, 2, 3, 4] ...

2019-09-24 22:54:41 56

原创 AlexNet-Pytorch-Kaggle猫狗大战

前言前一段时间基于LeNet-5实现了MNIST手写数字识别,由于torchvision.datasets模块集成了MNIST数据集,所以在加载数据时使用的是torchvision.datasets自带的方法,缺失了如何对一般数据集的处理部分,所以不能将其作为模板来适用于新的网络。通常,我们需要为待处理的数据集定义一个单独的数据处理类,在本文中,将基于AlexNet来实现猫狗分类,并详细总结各个...

2019-09-07 23:08:31 743

VC++6.0 win10

VC6.0 能够在 XP 下很好的运行,但是在win10下直接安装有时候还存在一些问题,该软件能够在win10上直接安装VC6.0并且正常运行,无需任何兼容性设置,亲测可用,欢迎各位下载。

2019-02-20

基于MFC的TCP调试助手源码

自己用VS2010做的一个小工具,可以方便调试网络应用程序,同时支持TCP和UDP通信,能够发送16进制和显示16进制,该资源包含源码,可以方便大家学习与修改其中的不足。

2017-07-26

基于MFC vs2010做的TCP调试助手

基于MFC vs2010做的一款TCP调试助手,可以支持TCP和UDP通信,实现了多线程操作,同时也支持定时发送,是网络通信调试的一款好工具。

2017-07-26

空空如也

空空如也

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

TA关注的人 TA的粉丝

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