- 博客(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 2627
原创 最小距离和
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 304
原创 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中添加 <profile> <repositories> <repository> <id>spring-releases</id> <url>https://repo.spring.io/libs-release</ur...
2018-12-28 23:05:42 4816
原创 剑指offer(面试题42):连续子数组的最大和
方法1:贪心算法// 求数组中的所有子数组的最大和 #include<iostream>using namespace std;bool isInputValid = true;int findMaxSumOfSubArray(int * numbers, int length) { if(numbers == NULL || length <= 0)...
2018-08-04 00:37:02 218
原创 剑指offer(面试题40):数组中最小的K个数
#include&lt;iostream&gt;#include&lt;stdlib.h&gt;using namespace std;int randomInRange(int start, int end) { return rand() % (end - start + 1) + start;}void swap(int&amp; n1, int&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<ios...
2018-08-03 18:10:18 140
原创 剑指offer(面试题38):字符串的排列
分析:求字符串中所有字符的全排列,实际上按照全排列的计算公式来理解,第一步是求出所有可能出现在第一个位置的字符,即用首个字符分别后余下的字符交换;第二步是固定首个字符,余下字符组成的子串进行第一步的计算。实际上这就是一个递归的过程。/** 输入一个字符串,打印字符串中的字符组成的全部组成序列(全排列) */#include<iostream>#include<...
2018-08-03 12:23:39 251
原创 剑指offer(面试题37):序列化二叉树和反序列重建二叉树
// 序列化二叉树 #include&lt;iostream&gt;#include &lt;fstream&gt;#include &lt;sstream&gt;#include &lt;string&gt;using namespace std;struct BinaryTreeNode { int value; BinaryTreeNode* l
2018-08-03 11:38:15 174
原创 剑指offer(面试题36):二叉搜索树和双向链表
/** 实现二叉搜索树和排序双向链表的转换 **/#include<iostream>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<iostream>using namespace std;struct ComplexListNode { int value; ComplexListNode* next; ComplexListNode* pSibling; Compl...
2018-08-02 22:52:06 155
原创 剑指offer(面试题34):二叉树中和为某一值的路径
/** 给定一个整数sum,找出二叉树路径上的结点值的总和等于sum的所有路径 * 方法:先序遍历 + 递归 + 栈 */#include<iostream>#include<vector>using namespace std;struct BinaryTreeNode { int value; BinaryTreeNode* left;...
2018-08-02 12:31:41 311
原创 剑指offer(面试题33):二叉搜索树的后序遍历序列
/** 判断输入序列是否构成二叉搜索树的后序遍历* 方法:递归* 技巧:后序遍历的规律,根结点在最后一个,根据根结点可以将后序遍历序列分为* 左子树和右子树 */#include&lt;iostream&gt;using namespace std;bool isSquenceOfBST(int sequence[], int length) { if(se...
2018-08-02 10:51:25 177
原创 剑指offer(面试题31):栈的压入和弹出序列
/** 给定两个序列,一个是栈的压入序列,一个是弹出序列,判断弹出序列能否匹配压入序列 */#include<iostream>#include<stack>using namespace std;bool isPopOrderAccurate(int pushOrder[], int popOrder[], int count) { stack&...
2018-08-02 00:22:34 156
原创 剑指offer(面试题29):顺时针打印矩阵
/** 顺时针打印矩阵 * 注意矩阵的维度 */#include&amp;amp;lt;iostream&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&lt;iostream&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 <iostream>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 &lt;iostream&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 <iostream>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 <iostream>using namespace std;struct ListNode { int value; ListNode* next;};分析:先检查链表是否存在环路,然后使用两个指针一前一后定位到入口结点。// 检查是否存在环ListNode* ...
2018-07-29 00:30:11 110
原创 剑指offer(面试题22):找出链表中倒数第K个结点
/** 题目:找出单向链表的倒数第k个结点的值* 要求:最多遍历一次链表*/#include <iostream>using namespace std;struct ListNode { int value; ListNode* next;};分析:只用一次遍历找到倒数的第K个结点,需要维护两个指针,保持前面的指针比后面的指针领先k-1个结点,当前面的指...
2018-07-28 23:59:23 107
原创 剑指offer(面试题21):根据给定条件划分数组
/** 题目* 输入一个数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分* 偶数位于数组的后半部分* 同时考虑代码的可扩展行*/#include <iostream>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 <iostream>using namespace std;// 扫面[0-9]bool scanUnsignedInteger(const char** str) { const cha...
2018-07-28 17:16:25 180
原创 剑指offer(面试题18):删除有序链表中的重复结点
/** 在一个排序的链表中,删除重复的结点(意味着连续出现相同的结点,这些的结点全部删除)* 1. 注意头结点可能被删除,因此函数参数声明中应该使用二级指针指向头结点所在的指针* 2.*/#include <iostream>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;lt;stdio.h&amp;gt;#include &amp;lt;iostream&amp;gt;#include &amp;lt;string.h&
2018-07-28 15:40:23 363
原创 剑指offer(面试题14): 动态规划和贪心算法求解最优化问题
题目给定一长为n的绳子,要求把绳子剪成m段(m,n都是整数且n>1,m>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 <...
2018-07-28 01:10:34 86
原创 C++:链表的简单插入和删除
#include <iostream>using namespace std;struct ListNode { int value; ListNode* next;};void addToDetail(ListNode** pHead, int value) { ListNode* pNew = new ListNode(); pNew->valu...
2018-07-27 17:09:05 495
原创 tensorflow:TensorFlow binary was not compiled to use: AVX2 FMA
遇到到一个警告>>> 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;gt;sc query vboxdrv得到的结果(这是我已经成功解决后重新查询的驱动状态) 如果STATUS对应的字段不是RUNN...
2018-06-10 01:01:42 23717 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 114
原创 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
TensorFlow机器学习实战指南.PDF
2018-05-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人