5 PaniniGu

尚未进行身份认证

生命不息,奋斗不止。

等级
TA的排名 3w+

LaTeX参考文献中遇到错误:Missing $ inserted. [\printbibliography[heading=bibintoc]]

博主最近在撰写论文的过程中,由于需要在参考文献中添加网址,在编译过程中遇到了如下报错:Missing $ inserted. [\printbibliography[heading=bibintoc]]错误原因是:参考文献中(或其它地方),如果网址中有下划线 _ ,那就需要在网址前面加上\url,不然就会报错。(因为下划线在LaTeX里面是编辑公式里用来表示下角标的)...

2019-12-26 10:53:58

我的机器学习入门之路(下)——知识图谱、推荐、广告

继上一篇《我的机器学习入门之路(中)——深度学习(自然语言处理)》,这一篇博客主要记录了我对知识图谱、推荐和广告等方向的一些涉猎与基础学习。一、知识图谱从自然语言处理到知识图谱,是一个很自然和直接的应用。知识图谱的内容非常多,因为没有做过相应的项目,所以我也只是学习和了解为主。主要包括两部分:理论学习、实践教程。1、理论学习部分什么是知识图谱?:https://mp.we...

2019-11-19 12:39:52

我的机器学习入门之路(中)——深度学习(自然语言处理)

继上一篇《我的机器学习入门之路(上)——传统机器学习》,这一篇博客主要记录深度学习(主要是自然语言处理)这一块内容的学习过程。以下均将自然语言处理简称NLP。这一块内容的学习路线分为三部分:明确NLP的研究问题及传统的方法有哪些、深度学习(NLP)基础及深度学习框架的使用、NLP的深入学习。一、明确NLP的研究问题及传统的方法有哪些不像机器学习中研究的问题一般都是直接的分类或...

2019-11-15 14:12:42

我的机器学习入门之路(上)——传统机器学习

这篇博客主要记录了我自己的学习路线及相应的资料汇总。总时间跨度约为6个月,主要是利用了晚上的时间和周末的时间,每天坚持下来,日积月累,回过头来,可能会惊讶于自己的进步。对于一个机器学习的小白来说,往往不知道如何入门机器学习,毕竟机器学习的知识点非常多,方向也比较多,所以,在我们进行学习之前,有必要对机器学习的大方向做一个汇总比较与选择。机器学习的应用方向主要包括:搜索、推荐、广告、风控、计算机...

2019-11-13 10:51:09

Leetcode 345. 反转字符串中的元音字母 解题思路及C++实现

解题思路:设置两个指针 left 和 right,大循环中的每一个循环,找到前面、后面两个元音字母,然后交换这两个元音。class Solution {public: bool whethertrue(char& c){ if(c == 'a' || c == 'A' || c == 'e' || c == 'E' || c == 'i' |...

2019-09-03 21:51:41

Leetcode 344. 反转字符串 解题思路及C++实现

解题思路:直接将第 i 个字符 与 第 n-1-i 个字符交换,就可以了。class Solution {public: void reverseString(vector<char>& s) { // if(s.empty()) return; int n = s.size(); for...

2019-09-03 21:37:29

Leetcode 234. 回文链表 解题思路及C++实现

解题思路:先用快慢指针找到链表的中间节点,然后将链表一分为二;然后将后半部分链表进行翻转,用到三个指针;接着分别遍历两个链表,逐个比较 val 值,如果出现不相等,就返回 false。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *...

2019-08-24 23:18:29

Leetcode 125. 验证回文串 解题思路及C++实现

解题思路:利用头尾双指针:i ,j 。需要判断每一个字符是否为字母或数字,c++中对应的函数为 isalnum,如果不是字母或数字,返回0。c++中判断大小写字母字符的函数是 isalpha,是大写返回1,是小写返回2,不是英文字符返回0。其实,在一开始可以用c++中的transform 函数,将输入字符串 s 中的字母都转为小写。class Solution {pu...

2019-08-21 21:29:35

Leetcode 279. 完全平方数 解题思路及C++实现

两种都是动态规划的方法,但第一种比较暴力和愚蠢,第二种利用了完全平方数。方法一:无脑动态规划,会超时解题思路:利用一维数组存储 n 个整数的结果。首先要判断 i 是不是 就是一个完全平方数,如果是,那就不用循环遍历后面的状态转移方程了,dp[i] = 1即可。当 i 不是完全平方数时,状态转移方程为 dp[i] = min(dp[k] + dp[i - k]),找到最小的分割,...

2019-08-20 18:03:01

Leetcode 223. 矩形面积 解题思路及C++实现

解题思路:着重研究一下矩形四个顶点坐标的大小关系。if 条件语句中判断是否出现不重叠的情况。当出现重叠时,需要找出重叠矩形的四个顶点坐标:在小的横坐标中找出更大者,就是重叠矩形中较大的横坐标值 x1,在大的横坐标中找出更小者,就是重叠矩形中较小的横坐标值 x2。重叠矩形的纵坐标也同理可得。class Solution {public: int computeAre...

2019-08-20 14:55:45

Leetcode 172. 阶乘后的零 解题思路及C++实现

解题思路:找阶乘后的零,本质上是找相乘的因子中5的个数,一般情况中,5的倍数中包含一个因子5,但是5的指数次方如25,就包含了2个因子5,这个要注意。class Solution {public: int trailingZeroes(int n) { // n = 10; int ans = 0; while(n) { ...

2019-08-15 23:40:33

Leetcode 171. Excel表列序号 解题思路及C++实现

解题思路:26进制转10进制。没啥可说的了。class Solution {public: int get_26(int n){ int res = 1; while(n > 0){ res *= 26; n--; } return res; }...

2019-08-15 18:27:12

Leetcode 168. Excel表列名称 解题思路及C++实现

解题思路:相当于实现了一个10进制转26进制。要注意减 1 。class Solution {public: string convertToTitle(int n) { char a[26] = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','...

2019-08-15 18:19:46

Leetcode 206. 反转链表 解题思路及C++实现

解题思路:利用三个指针 left、right、tmp。left指向的是每一步反转之后的头结点,right指向的是当前需要反转的节点,tmp指向的是下一步需要反转的节点。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ...

2019-08-14 16:02:04

Leetcode 203. 移除链表元素 解题思路及C++实现

解题思路:定义两个指针分别指向当前节点和上一个节点。遍历一次链表即可。需要注意的情况是,链表的头结点的 val 就和输入的 val 相等 这一情况。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNod...

2019-08-14 15:26:37

Leetcode 160. 相交链表 解题思路及C++实现

解题思路:先将两个链表构建成一个环,定义两个快慢指针,当它们相遇时,将fast指针从头结点往后遍历,每次走一步,当这两个指针再次相遇时,该节点就是相交节点。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListN...

2019-08-14 15:14:35

Leetcode 141. 环形链表 解题思路及C++实现

解题思路:定义快慢两个指针,当指针所指节点是同一个时,说明出现了环。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */...

2019-08-14 14:32:01

Leetcode 166. 分数到小数 解题思路及C++实现

解题思路:这道题目的核心是怎么找到循环部分:当出现重复的余数时,就会出现循环。前面需要考虑比较多种情况:除数是否为0;结果的正负;结果的整数部分和小数部分分开求解。在求解小数部分的时候,需要用到 unordered_map 来记录出现过的余数。同时需要用一个数组来记录每一次除法得到的商的字符串。具体程序如下:class Solution {public: st...

2019-08-14 14:15:48

Leetcode 138. 复制带随机指针的链表 解题思路及C++实现

解题思路:主要包括三步。第一步是遍历一次链表,复制其每一个节点,并将所复制的节点接在其后。第二步是遍历一次链表,解决拷贝节点的random指针的指向。第三步是从这个大链表中,拆出原有链表和拷贝链表。具体图解,课参考LeetCode官方图解。/*// Definition for a Node.class Node {public: int val; ...

2019-08-14 10:39:12

Leetcode 205. 同构字符串 解题思路及C++实现

解题思路:仔细阅读题意,应注意到一个 hash表是不够的,需要新建两个hash表,分别存储 s->t 和 t->s 的映射。class Solution {public: bool isIsomorphic(string s, string t) { if(s.length() != t.length()) return false; ...

2019-08-03 14:28:42

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。