自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

stsfang

编程业余人士

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

原创 shell通配符字符串匹配

在Linux Shell命令下通配符’‘表示0个或多个字符, 现编写一段代码实现通配符’‘的功能,注意只需要实现’*’, 不用实现其他通配符。输入描述:第一行输入通配字符串第二行输入要匹配查找的字符串输出描述:输出所有匹配的字串起始位置和长度,每行一个匹配输出如果不匹配,则输出 -1 0如果有多个按照起始位置和长度的正序输出。输入例子1:shopee*.comshopeemobile.com输出例子1:0 16例子说明1:0 起始位置,16长度输入例子2:*.comshop

2021-03-28 01:15:37 2626

原创 最小距离和

xxx物流会有很多个中转站。在选址的过程中,会选择离用户最近的地方建一个物流中转站。假设给你一个二维平面网格,每个格子是房子则为1,或者是空地则为0。找到一个空地修建一个物流中转站,使得这个物流中转站到所有的房子的距离之和最小。 能修建,则返回最小的距离和。如果无法修建,则返回 -1。(1) 若范围限制在100*100以内的网格,如何计算出最小的距离和?(2) 当平面网格非常大的情况下,如何避免不必要的计算?输入描述:40 1 1 01 1 0 10 0 1 00 0 0 0

2021-03-28 00:16:48 303

原创 DFS终于完胜BFS了

xxxxx的办公室非常大,小xx同学的位置坐落在右上角,而大门却在左下角,可以把所有位置抽象为一个网格(门口的坐标为0,0),小xx同学很聪明,每次只向上,或者向右走,因为这样最容易接近目的地,但是小虾同学不想让自己的boss们看到自己经常在他们面前出没,或者迟到被发现。他决定研究一下如果他不通过boss们的位置,他可以有多少种走法?输入描述:第一行 x,y,n (0<x<=30, 0<y<=30, 0<=n<= 20) 表示x,y小虾的座位坐标,n 表示boss的

2021-03-28 00:04:40 199

原创 mvn spring-boot:run运行不了的解决办法

試試在maven的settings.xml中添加 &lt;profile&gt; &lt;repositories&gt; &lt;repository&gt; &lt;id&gt;spring-releases&lt;/id&gt; &lt;url&gt;https://repo.spring.io/libs-release&lt;/ur...

2018-12-28 23:05:42 4815

原创 剑指offer(面试题42):连续子数组的最大和

方法1:贪心算法// 求数组中的所有子数组的最大和 #include&lt;iostream&gt;using namespace std;bool isInputValid = true;int findMaxSumOfSubArray(int * numbers, int length) { if(numbers == NULL || length &lt;= 0)...

2018-08-04 00:37:02 218

原创 剑指offer(面试题40):数组中最小的K个数

#include&amp;lt;iostream&amp;gt;#include&amp;lt;stdlib.h&amp;gt;using namespace std;int randomInRange(int start, int end) { return rand() % (end - start + 1) + start;}void swap(int&amp;amp; n1, int&amp;amp; n...

2018-08-03 23:00:23 178

原创 剑指offer(面试题39):数组中出现次数超过数组长度一半的数字

方法1:从数学角度看,所求的数一定的原数组(有序化)的中位数,那么,我们可以通过对数组排序,这样得到的时间复杂度是O(nlogn)O(nlogn)O(nlogn)。而如果能够优化到在O(n)O(n)O(n)的时间内找到,就更好了。基于快速排序的partition阶段,如果我们可以通过这一方法找到数组的中位数,那么时间复杂度显然是O(n)O(n)O(n)的。#include&lt;ios...

2018-08-03 18:10:18 140

原创 剑指offer(面试题38):字符串的排列

分析:求字符串中所有字符的全排列,实际上按照全排列的计算公式来理解,第一步是求出所有可能出现在第一个位置的字符,即用首个字符分别后余下的字符交换;第二步是固定首个字符,余下字符组成的子串进行第一步的计算。实际上这就是一个递归的过程。/** 输入一个字符串,打印字符串中的字符组成的全部组成序列(全排列) */#include&lt;iostream&gt;#include&lt;...

2018-08-03 12:23:39 251

原创 剑指offer(面试题37):序列化二叉树和反序列重建二叉树

// 序列化二叉树 #include&amp;lt;iostream&amp;gt;#include &amp;lt;fstream&amp;gt;#include &amp;lt;sstream&amp;gt;#include &amp;lt;string&amp;gt;using namespace std;struct BinaryTreeNode { int value; BinaryTreeNode* l

2018-08-03 11:38:15 174

原创 剑指offer(面试题36):二叉搜索树和双向链表

/** 实现二叉搜索树和排序双向链表的转换 **/#include&lt;iostream&gt;using namespace std;struct BinaryTreeNode { int value; BinaryTreeNode* left; BinaryTreeNode* right; BinaryTreeNode(int value):l...

2018-08-03 01:49:57 129

原创 剑指offer(面试题35):复杂链表的复制

/** 复杂链表的复制 * 复杂链表是指,结点的指针可能不规则地指向另一个结点 */#include&lt;iostream&gt;using namespace std;struct ComplexListNode { int value; ComplexListNode* next; ComplexListNode* pSibling; Compl...

2018-08-02 22:52:06 155

原创 剑指offer(面试题34):二叉树中和为某一值的路径

/** 给定一个整数sum,找出二叉树路径上的结点值的总和等于sum的所有路径 * 方法:先序遍历 + 递归 + 栈 */#include&lt;iostream&gt;#include&lt;vector&gt;using namespace std;struct BinaryTreeNode { int value; BinaryTreeNode* left;...

2018-08-02 12:31:41 311

原创 剑指offer(面试题33):二叉搜索树的后序遍历序列

/** 判断输入序列是否构成二叉搜索树的后序遍历* 方法:递归* 技巧:后序遍历的规律,根结点在最后一个,根据根结点可以将后序遍历序列分为* 左子树和右子树 */#include&amp;lt;iostream&amp;gt;using namespace std;bool isSquenceOfBST(int sequence[], int length) { if(se...

2018-08-02 10:51:25 177

原创 剑指offer(面试题31):栈的压入和弹出序列

/** 给定两个序列,一个是栈的压入序列,一个是弹出序列,判断弹出序列能否匹配压入序列 */#include&lt;iostream&gt;#include&lt;stack&gt;using namespace std;bool isPopOrderAccurate(int pushOrder[], int popOrder[], int count) { stack&...

2018-08-02 00:22:34 155

原创 剑指offer(面试题29):顺时针打印矩阵

/** 顺时针打印矩阵 * 注意矩阵的维度 */#include&amp;amp;amp;lt;iostream&amp;amp;amp;gt;using namespace std;//当n_s == n_e 或者 m_s == m_e 说明已经打印到最后一列或者最后一行了void printMatrixClockwisely(int **matrix, int m, int n) { int m_s = 0, m_e...

2018-08-01 23:22:55 133

原创 剑指offer(面试题27):对称二叉树

/** 判断一个二叉树是不是对称二叉树 */#include&amp;lt;iostream&amp;gt;using namespace std;struct BinaryTreeNode { int value; BinaryTreeNode* left; BinaryTreeNode* right; BinaryTreeNode(int value):left(...

2018-08-01 21:59:37 114

原创 剑指offer(面试题27):镜像二叉树

/** 镜像二叉树 * 相关方法:先序遍历 */ #include &lt;iostream&gt;using namespace std;struct BinaryTreeNode { int value; BinaryTreeNode* left; BinaryTreeNode* right; BinaryTreeNode(int value):...

2018-08-01 21:30:18 128

原创 剑指offer(面试题26):树的子结构

/** 题目:输入两颗二叉树A和B,判断B是不是A的子结构。*/#include &amp;lt;iostream&amp;gt;using namespace std;struct Node { int value; Node* left; Node* right;};分析// 注意:double在计算机中的比较是有误差的,需要给定允许的误差范围bool equal...

2018-07-29 01:35:46 142

原创 剑指offer(面试题24):反转链表

/** 题目:反转链表*/#include &lt;iostream&gt;using namespace std;struct ListNode { int value; ListNode* next;};ListNode* reverseList(ListNode* pHead) { if(pHead == NULL) return NULL; L...

2018-07-29 00:57:22 113

原创 剑指offer(面试题23):链表中环的入口结点

/** 题目:如果一个单向链表包含环,如何找出环的入口结点。**/#include &lt;iostream&gt;using namespace std;struct ListNode { int value; ListNode* next;};分析:先检查链表是否存在环路,然后使用两个指针一前一后定位到入口结点。// 检查是否存在环ListNode* ...

2018-07-29 00:30:11 110

原创 剑指offer(面试题22):找出链表中倒数第K个结点

/** 题目:找出单向链表的倒数第k个结点的值* 要求:最多遍历一次链表*/#include &lt;iostream&gt;using namespace std;struct ListNode { int value; ListNode* next;};分析:只用一次遍历找到倒数的第K个结点,需要维护两个指针,保持前面的指针比后面的指针领先k-1个结点,当前面的指...

2018-07-28 23:59:23 107

原创 剑指offer(面试题21):根据给定条件划分数组

/** 题目* 输入一个数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分* 偶数位于数组的后半部分* 同时考虑代码的可扩展行*/#include &lt;iostream&gt;using namespace std;// 不考虑可扩展性void ReorderOddEven(int* pData, unsigned int length) { ...

2018-07-28 23:32:25 151

原创 剑指offer(面试题20):表示数值的字符串

解法分析:确定数值的匹配模式注意:二级指针的使用容易出错/** 判断输入的字符串是否表示数值* [+|-][.[0-9]][e|E[0-9]]*/#include &lt;iostream&gt;using namespace std;// 扫面[0-9]bool scanUnsignedInteger(const char** str) { const cha...

2018-07-28 17:16:25 180

原创 剑指offer(面试题18):删除有序链表中的重复结点

/** 在一个排序的链表中,删除重复的结点(意味着连续出现相同的结点,这些的结点全部删除)* 1. 注意头结点可能被删除,因此函数参数声明中应该使用二级指针指向头结点所在的指针* 2.*/#include &lt;iostream&gt;using namespace std;struct ListNode { int value; ListNode* next;};...

2018-07-28 16:41:43 200

原创 剑指offer(面试题17):打印从1到最大的n位数

题目输入数字n,按顺序打印从1奥最大的n位十进制整数。比如输入3,则打印出1,2,3一直到最大的3位数999解法分析:这道题的陷阱是容易忽略掉n为大数的情况,当n为大数时只能使用大数算法。一般用字符串或数组表示大数。#include &amp;amp;lt;stdio.h&amp;amp;gt;#include &amp;amp;lt;iostream&amp;amp;gt;#include &amp;amp;lt;string.h&amp

2018-07-28 15:40:23 363

原创 剑指offer(面试题14): 动态规划和贪心算法求解最优化问题

题目给定一长为n的绳子,要求把绳子剪成m段(m,n都是整数且n&gt;1,m&gt;1),每段绳子的长度记为k[0], k[1], k[2]…,k[m]。请问k[0]*k[1]*k[2]….*k[m]可能的最大乘积是多少?例如,当绳子的长度是8时,可以剪成2*3*3的三段得到最大的乘积。解法动态规划 从下往下分析问题,从下往上解决问题。先计算当绳子长度为2,3,4等这些较小的容易看...

2018-07-28 11:18:19 644 1

原创 剑指offer(面试题11):旋转数组的最小数字

题目把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如{3,4,5,1,2,}为{1,2,3,4,5}的一个旋转,该数组的最小值为1.解题思路直观的做法是遍历一次,时间复杂度为O(n)O(n)O(n)注意到排序数组的一个旋转在分段上是有序的这一特点,可以使用二分法查找最小元素#include &lt...

2018-07-28 01:10:34 86

原创 C++:链表的简单插入和删除

#include &lt;iostream&gt;using namespace std;struct ListNode { int value; ListNode* next;};void addToDetail(ListNode** pHead, int value) { ListNode* pNew = new ListNode(); pNew-&gt;valu...

2018-07-27 17:09:05 495

原创 tensorflow:TensorFlow binary was not compiled to use: AVX2 FMA

遇到到一个警告&gt;&gt;&gt; mysess = tf.Session()2018-07-27 12:51:04.879592: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compi...

2018-07-27 13:05:54 485 1

原创 跨站脚本攻击XSS

跨站脚本攻击,一般是指黑客通过HTML注入攻击篡改了网页,插入了恶意的脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击。XSS攻击的三种类型反射型XSS 反射型XSS只是简单地把用户输入的数据反射给浏览器,也就是说,黑客往往需要诱导用户“点击”一个恶意链接,才能攻击成功。反射型XSS也叫“非持久型XSS”存储型XSS 存储型XSS会把用户输入的数据“存储”在服务器端,这种XSS...

2018-06-30 16:50:19 209

原创 VirtualBox启动虚拟机失败的解决

问题描述在VBox-5.12版本中遇到下面的问题,当时正在AS中准备启动Genymotion中的手机模拟器,问题的提示如下: 问题解决查询VBox驱动服务的状态根据左图的提示,在doc中运行如下命令:C:\WINDOWS\system32&amp;amp;gt;sc query vboxdrv得到的结果(这是我已经成功解决后重新查询的驱动状态) 如果STATUS对应的字段不是RUNN...

2018-06-10 01:01:42 23714 5

原创 JavaScript数据结构与算法(八):图、图的遍历和搜索

// 使用字典来存储邻接表var Dictionary = require('../map/dictionary');// 引入队列,辅助广度搜索var Queue = require('../queue/queue');function Graph() { var vertices = []; var adjList = new Dictionary(); ...

2018-06-08 21:54:10 204

原创 JavaScript数据结构与算法(七):二叉搜索树

/** * BST 二叉搜索树 */ function BinarySearchTree() { var Node = function (key) { this.key = key; this.left = null; this.right = null; } var root = null; /*...

2018-06-08 20:01:09 113

原创 JavaScript数据结构与算法(六):集合

/** * JavaScript的对象不允许一个键指向两个不同的属性 * 这一点保证了集合中的元素都是唯一的 */ function Set() { var items = {}; var length = 0; this.add = function (val) { if(!this.has(val)) { item...

2018-06-08 15:12:12 130

原创 JavaScript数据结构与算法(五):循环链表

function CircleLinkedList() { var Node = function (ele) { this.element = ele; this.next = null; } var length = 0; var head = null; var tail = null; // 向后添加元素...

2018-06-08 14:55:02 118

原创 JavaScript数据结构与算法(四):双向链表

function CircleLinkedList(){ function Node(ele) { this.element = ele; this.next = null; this.prev = null; } var length = 0; var head = null; var tail = n...

2018-06-08 14:40:10 88

原创 JavaScript数据结构与算法(三):单向链表

function LinkedList() { var Node = function (ele) { this.element = ele; this.next = null; } var length = 0; var head = null; // 向后添加元素 this.append = function ...

2018-06-08 13:21:06 138

原创 JavaScript数据结构与算法(二):Queue

开门见山直接见代码,上一篇JavaScript数据结构与算法(一):Stack有更详细的表述。 作为学习,记录一下。let Queue = (function () { const items = new WeakMap(); class Queue { constructor() { items.set(this, []); ...

2018-05-17 00:35:54 119

原创 JavaScript数据结构与算法(一):Stack

说在前面构造函数模拟类代码ES5版本:function Stack() { let items = []; //添加元素入栈 this.push = function (ele) { items.push(ele); }; // 弹出栈顶元素 this.pop = function () { return items.pop(); ...

2018-05-16 19:14:00 177

原创 JavaScript之面向对象(原型、this、继承等一网打尽)

一、几个重点对象原型实例属性与原型属性继承二、详细介绍2.1 对象对象的创建方法有以下:字面量Object.Create()2.2 原型几乎所有对象都有一个prototype的默认属性。prototype属性的值,也是一个对象,它被称为“原型对象”,所以我们可以通过prototype属性,给“原型对象”添加其他一些属性。原型链查找属性时会用...

2018-05-12 00:23:57 144

学习JavaScript数据结构与算法

学习JavaScript数据结构与算法

2018-06-25

Cpmvex Optimization凸优化理论

机器学习和深度学习中关于算法优化的理论基础

2018-06-25

TensorFlow机器学习实战指南.PDF

第1章介绍TensorFlow的基本概念,包括张量、变量和占位符;同时展示了在 TensorFlow中如何使用矩阵和各种数学操作。本章末尾讲述如何访问本书所需的数据 源。 第2章介绍如何在计算图中连接第1章中的所有算法组件,创建一个简单的分类 器。接着,介绍计算图、损失函数、反向传播和训练模型。 第3章重点讨论使用TensorFlow实现各种线性回归算法,比如,戴明回归、lasso回 归、岭回归、弹性网络回归和逻辑回归,也展示了如何在TensorFlow计算图中实现每 种回归算法。 第4章介绍支持向量机(SVM)算法,展示如何在TensorFlow中实现线性SVM算 法、非线性SVM算法和多分类SVM算法。 第5章展示如何使用数值度量、文本度量和归一化距离函数实现最近邻域法。我们 使用最近邻域法进行地址间的记录匹配和MNIST数据库中手写数字的分类。 第6章讲述如何使用TensorFlow实现神经网络算法,包括操作门和激励函数的概 念。随后展示一个简单的神经网络并讨论如何建立不同类型的神经网络层。本章末尾 通过神经网络算法教TensorFlow玩井字棋游戏。 第7章阐述借助TensorFlow实现的各种文本处理算法。我们展示如何实现文本 的“词袋”和TF-IDF算法。然后介绍CBOW和skip-gram模型的神经网络文本表示方式, 并对于Word2Vec和Doc2Vec用这些方法来做预测。 第8章扩展神经网络算法,说明如何借助卷积神经网络(CNN)算法在图像上应 用神经网络算法。我们展示如何构建一个简单的CNN进行MNIST数字识别,并扩展到 CIFAR-10任务中的彩色图片,也阐述了如何针对自定义任务扩展之前训练的图像识别 模型。本章末尾详细解释TensorFlow实现的模仿大师绘画和Deep-Dream算法。 第9章解释在TensorFlow中如何实现递归神经网络(RNN)算法,展示如何进行垃 圾短信预测和在莎士比亚文本样本集上扩展RNN模型生成文本。接着训练Seq2Seq模 型实现德语-英语的翻译。本章末尾展示如何用孪生RNN模型进行地址记录匹配。 第10章介绍TensorFlow产品级用例和开发提示,同时介绍如何利用多处理设备 (比如,GPU)和在多个设备上实现分布式TensorFlow。 第11章展示TensorFlow如何实现k-means算法、遗传算法和求解常微分方程 (ODE),还介绍了Tensorboad的各种用法和如何查看计算图指标。

2018-05-13

空空如也

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

TA关注的人

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