自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

charlsonzhao的博客

好记性不如烂笔头

  • 博客(22)
  • 收藏
  • 关注

原创 二分查找模板总结

二分查找模板总结二分查找是一种在 有序数组 中查找某一特定元素的搜索算法。元素集合有顺序,元素性质有分界点,二分法就可以用来求分界点,并不一定要求集合中元素是不重复的。算法思路:假设目标值在闭区间 [left, right] 中, 每次将区间长度缩小一半,当 left = right 时,我们就找到了目标值。常规写法二分查找需要注意 查找区间 和 终止条件,稍不留神可能出现死循环。常见的写法如下:int binarySearch(vector<int> &nums, int t

2022-04-09 17:07:39 4854

原创 CentOS7 升级 git 版本到 2.x

centos7 升级 git 版本centos7 升级 git 版本使用 yum 安装移除旧版本添加 End Point Package Repository安装编译安装移除旧版本安装必需依赖下载源码解压安装可能遇到的依赖问题参考资料:centos7 升级 git 版本首先确认在 CentOS 7 服务器已安装的 git 版本。git --versiongit version 1.8.3.1使用 yum 安装移除旧版本sudo yum remove gitsudo yum remove

2022-03-06 16:45:42 1105

原创 面试题13:机器人的运动范围

文章目录机器人的运动范围题目描述回溯bfs机器人的运动范围题目描述地上有一个 m 行和 n 列的方格。一个机器人从坐标 (0,0) 的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当 k 为 18 时,机器人能够进入方格 (35,37),因为 3+5+3+7 = 18。但是,它不能进入方格(35,38),因为 3+5+3+...

2019-11-27 10:36:48 140

原创 面试题12:矩阵中的路径

文章目录矩阵中的路径题目描述思路一:BFS形式思路二:回溯形式矩阵中的路径题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的 3 X 4 矩阵...

2019-11-27 10:35:54 145

原创 面试题18:删除链表的结点

文章目录面试题 18:删除链表的结点题目一:在O(1)时间删除链表结点题目描述思路题目二:删除链表中重复的节点题目描述思路面试题 18:删除链表的结点题目一:在O(1)时间删除链表结点题目描述给定单向链表的一个节点指针,定义一个函数在 $O(1)$ 时间删除该结点。假设链表一定存在,并且该节点一定不是尾节点。样例输入:链表 1->4->6->8 删掉节点...

2019-11-26 19:51:30 151

原创 面试题14:剪绳子

文章目录剪绳子题目描述思路动态规划贪心剪绳子题目描述给你一根长度为 n 的绳子,请把绳子剪成 m 段(m、n 都是整数,2 ≤ n ≤ 58 并且 m ≥ 2)。每段的绳子的长度记为 k[0]、k[1]、……、k[m]。k[0] × k[1] × … × k[m] 可能的最大乘积是多少?例如当绳子的长度是 8 时,我们把它剪成长度分别为 2、3、3 的三段,此时得到最大的乘积 18。样...

2019-11-09 14:45:11 180

原创 面试题11:旋转数组的最小数字

文章目录旋转数组的最小数字题目描述思路一:直接比较思路二:二分查找搜索旋转排序数组题目描述样例思路一:三次二分思路二:一次二分旋转数组的最小数字LeetCode链接: 153. Find Minimum in Rotated Sorted Array题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 ...

2019-10-25 14:13:16 100

原创 面试题08:二叉树的下一个结点

文章目录二叉树的下一个结点题目描述思路二叉树的下一个结点题目描述给定一棵二叉树的其中一个节点,请找出中序遍历序列的下一个节点。注意:如果给定的节点是中序遍历序列的最后一个,则返回空节点;二叉树一定不为空,且给定的节点一定不是空节点;样例假定二叉树是:[2, 1, 3, null, null, null, null], 给出的是值等于 2 的节点。则应返回值等于 3 的节点。解释...

2019-10-15 13:52:34 86

原创 面试题09:用两个栈实现队列

文章目录栈和队列的模拟实现用两个栈实现队列题目描述思路代码相关题目:用队列实现栈题目描述思路一:用两个队列思路二:只用一个队列栈和队列的模拟实现用两个栈实现队列232. Implement Queue using Stacks题目描述请用栈实现一个队列,支持如下四种操作:push(x) —— 将元素x插到队尾;pop() —— 将队首的元素弹出,并返回该元素;peek() —...

2019-10-03 16:16:34 290

原创 面试题06:从尾到头打印链表

文章目录面试题 6:从尾到头打印链表题目描述思路一:栈思路二:递归思路三:集合的 reverse 方法面试题 6:从尾到头打印链表题目描述输入一个链表的头结点,按照 从尾到头 的顺序返回节点的值。返回一个 ArrayList。如果修改链表结构,可以先利用头插法将链表逆置,然后再依次输出结点。这个方法在 “面试题24:反转链表” 中会用到不修改链表结构,主要就利用栈“后进先出”的特性...

2019-09-18 16:15:46 186

原创 面试题05:替换空格

文章目录面试题 5:替换空格题目描述方法一:使用 replace()方法二:使用 append()方法三:使用双指针面试题 5:替换空格题目描述请实现一个函数,把字符串中的每个空格替换成 "%20"。例如,当字符串为 We Are Happy.,则经过替换之后的字符串为 We%20Are%20Happy.。方法一:使用 replace()public String replaceSpac...

2019-09-02 14:23:14 177

原创 面试题07:重建二叉树

文章目录从前序与中序遍历序列构造二叉树题目描述解答思路一:递归思路二:非递归从前序与中序遍历序列构造二叉树105. Construct Binary Tree from Preorder and Inorder Traversal题目描述根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15...

2019-08-29 15:04:09 155

原创 最长上升( 递增 )子序列与最长连续上升( 递增 )子序列( LIS )

文章目录最长上升( 递增 )子序列与最长连续上升( 递增 )子序列( LIS )1. 最长上升子序列题目描述说明暴力 dp 解法转化为LCS求解二分查找+贪心2.最长连续上升子序列题目描述dp 解法3. 最长递增子序列的个数题目描述dp 解法最长上升( 递增 )子序列与最长连续上升( 递增 )子序列( LIS )1. 最长上升子序列LintCode题目地址: 76. 最长上升子序列Leet...

2019-08-14 10:45:04 1462

原创 面试题 10:斐波那契数列

文章目录面试题 10:斐波那契数列题目一:求斐波那契数列的第n项题目描述递归非递归(迭代)题目二:跳台阶题目描述题目三:变态跳台阶题目描述状态枚举题目四:矩形覆盖题目描述面试题 10:斐波那契数列题目一:求斐波那契数列的第n项题目描述输入一个整数 n ,求斐波那契数列的第 n 项。假定从 0 开始,第 0 项为 0。( n <= 39 )样例输入整数 n=5 返回 5...

2019-07-30 11:51:29 282

原创 面试题 04:二维数组中的查找

文章目录面试题 04:二维数组中的查找题目描述解答面试题 04:二维数组中的查找题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。样例输入数组:[ [1,2,8,9], [2,4,9,12], [4,7,10,13], ...

2019-07-21 16:39:43 241

原创 面试题03:数组中重复的数字

文章目录面试题 03:数组中重复的数字题目一:找出数值中重复的数字题目描述思路一:排序思路二:哈希表思路三:交换元素题目二:不修改数组找出重复的数字题目描述思路一:抽屉原理+分治法思路二:找到“环”的入口相似题目面试题 03:数组中重复的数字题目一:找出数值中重复的数字题目描述在一个长度为 n 的数组里的所有数字都在 0 ~ n-1 的范围内。 数组中某些数字是重复的,但不知道有几个数字是...

2019-07-14 20:52:12 201

原创 面试题02:实现Singleton模式

文章目录实现Singleton模式单例模式介绍意图主要解决问题何时使用如何解决关键代码优点缺点使用场景几种实现方式第一种:懒汉式,线程不安全第二种:懒汉式,线程安全第三种:饿汉式第四种:饿汉式,变种第五种:双检锁/双重校验锁(DCL,即 double-checked locking)第六种:登记式/静态内部类第七种:枚举总结参考资料实现Singleton模式单例模式介绍单例模式(Single...

2019-07-03 21:54:59 155

原创 最长回文子串与最长回文子序列

文章目录最长回文子串与最长回文子序列最长回文子串题目描述dp解法从中心扩展马拉车算法最长回文子序列题目描述dp 解法递归思想最长回文子串与最长回文子序列最长回文子串LeetCode 链接: 5. 最长回文子串题目描述给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个...

2019-05-18 15:55:39 1400

原创 理解 Manacher's Algorithm(马拉车算法)——最长回文子串问题

求字符串 s 的最长回文子串一、马拉车算法(Manacher’s Algorithm)通常的回文串匹配方法:以某个字符为中心,依次向两边匹配。这样有一个问题是,当回文串长度分别为奇数和偶数时,不方便统一处理。马拉车算法的核心思想是利用已经计算过的回文串,并且根据对称性减少匹配次数。另外对字符串进行特殊处理,消除回文串长度奇偶性可能造成的影响。1. 改造字符串在字符串 S的相邻字符之间、字符...

2019-04-27 22:19:54 495

原创 Windows启动tensorboard进行可视化遇到的小问题

利用 TensorBoard 查看训练过程中的日志(使用的是 Anaconda 配置的 TensorFlow 环境),遇到问题:在 logs 目录执行tensorboard --logdir =logs 之后,浏览器中输入 http://localhost:6006 网址打不开查看日志目录找到前缀是 events.out.tfevents 的文件所在目录,即输出日志所在目录,我这里是在 Gra...

2018-12-07 16:06:22 428 1

原创 C++从文件中读取整数输入数据

主要记录下在刷题过程中遇到的简单输入问题,并没有考虑复杂的情况。看到其他大神的博客写到 “如果你所要读的每一行的长度不超过255,程序运行也不会有问题”,似乎每行长度超过255会出现死循环,详情可参考: 运用ifstream的getline时需要注意的问题用文件流 ifstream主要用到 getline 和 stringstream#include &amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp

2018-08-16 09:18:50 25206 2

原创 Clion中C++使用当前目录读取文件失败

问题在使用 Clion编译运行C++时,程序从文件中读取输入数据,使用 freopen 重定向输入,一直没有读取到数据,execute.txt 文件放在cpp文件同级目录下:freopen(&amp;amp;amp;amp;quot;./execute.txt&amp;amp;amp;amp;quot;, &amp;amp;amp;amp;quot;r&amp;amp;amp;amp;quot;, stdin);原因:cpp源文件经编译后生成可执行文件,放在

2018-08-03 16:00:08 4772 1

空空如也

空空如也

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

TA关注的人

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