自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

朱彼得

Python,C++,机器学习

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

转载 Pyinstaller的安装、使用详解及常见问题

http://peterzone.top/blog/3

2019-10-08 20:08:33 1131

原创 【PAT甲级】1115 Counting Nodes in a BST (二叉搜索树的遍历)

题目:A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes with keys less than or equal to the node's k...

2019-04-03 21:19:42 177

原创 【PAT甲级】1064 Complete Binary Search Tree (二叉搜索树与完全二叉树)

A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes with keys less than the node's key. The right su...

2019-04-01 20:26:46 246

原创 【PAT甲级】 1020. Tree Traversals(已知后序和中序,求层序)

注:此题是一道二叉树的构建+递归+BFS的综合应用题,值得新手好好学习一番!题目:Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder and inorder traversal sequences, you are supposed to output ...

2019-03-30 15:13:13 179

原创 基础算法——BFS

注:此篇文章旨在总结本人在运用BFS过程中的一些技巧,不是对DFS的一些基础介绍,还不明白DFS的过程的读者,请绕道百度,以免耽误时间!BFS的应用场景:很多问题,不好概括,典型应用就是图的遍历和树的遍历。BFS的模板:void BFS(int s){ queue<int> q; q.push(s); while(!q.empty())...

2019-03-28 19:55:00 185

原创 基础算法——DFS

注:此篇文章旨在总结本人在运用DFS过程中的一些技巧,不是对DFS的一些基础介绍,还不明白DFS的过程的读者,请绕道百度,以免耽误时间!DFS算法应用场景:1.遍历树、图等数据结构。2.一些动态规划问题,例如最优子序列问题。DFS算法的运用:虽然很多人都理解DFS算法的过程,但经常遇到的一个问题是:不知道如何巧妙的把这个算法用编程语言写出来。本文就旨在解决“写出来”的...

2019-03-27 14:03:02 259

原创 C++ algorithm头文件下的常用函数学习

max(x,y):返回x、y中的最大值。 min(x,y):返回x、y中的最小值。 abs(x):返回整数x的绝对值,注意x必须是整数。浮点型的绝对值用math头文件下的fabs(x). swap(x,y):交换x,y的值。 reverse(it,it2):将数组或容器的[it,it2]区间内的元素反转,it、it2为指针或者迭代器。常用于字符串的反转。 fill(it,it2,valu...

2019-03-26 18:25:03 372

原创 C++ STL库学习——容器

在我刚走上算法修炼这条路时,走了不少的弯路,那时候因为不知道C++ STL库的存在,为了满足题目对运行时间的要求,只能使用C语言,而C语言最大的弊端是很多东西都要自己去实现,所以在做算法题时,我常常会感觉到很累,一度想要放弃。但自从用上了STL库以后,情况改善了许多,STL即标准模板库,它提供了多种容器和算法来满足编程者的要求,本篇文章不做教程,因为好的教程太多了,这里推荐C语言中文网:htt...

2019-03-25 20:06:51 1225

原创 【leetcode】环形链表

题目:给定一个链表,判断链表中是否有环。进阶:你能否不使用额外空间解决此题? 思路:两个指针,一个快,一个慢。有环的话必定会追上。可参考:https://blog.csdn.net/miss_yuki/article/details/80305913代码:bool hasCycle(struct ListNode *head) { /** * Defi...

2018-11-17 13:36:52 110

原创 【leetcode】回文链表(C语言解答)

请判断一个链表是否为回文链表。示例 1:输入: 1-&gt;2输出: false示例 2:输入: 1-&gt;2-&gt;2-&gt;1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 我的思路:先计算链表的长度,然后申请一个与其等长的数组,将链表中值复制到数组中,在数组中判断是否为回文!代码:简单,但低效!b...

2018-11-12 16:24:06 994

原创 C语言中不常用但非常有用的函数

1.sprintf()函数int sprintf( char *buffer, const char *format [, argument] ... );一般有三个参数:缓冲区、你指定的格式、要处理的字符串与printf相比:sprinf()是将结果打印到缓冲区(一个数组),而printf()是直接将结果打印到屏幕。例子://把整数123 打印成一个字符串保存在s 中。sp...

2018-11-12 09:23:20 268

原创 【leetcode】21. 合并两个有序链表(C解答)

题目:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1-&gt;2-&gt;4, 1-&gt;3-&gt;4输出:1-&gt;1-&gt;2-&gt;3-&gt;4-&gt;4 解题思路:刚开始,我把题目理解成了:单纯地合并两个链表(像这样:l1-&gt;l2-&gt;l1-&gt;l2~~~~)事实上题目...

2018-11-05 16:29:50 361

原创 【leetcode】反转链表(C语言解答)

题目:反转一个单链表。示例:输入: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL输出: 5-&gt;4-&gt;3-&gt;2-&gt;1-&gt;NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 解题思路:受双指针思想的启发,我这次使用了三指针思想,最前面的指针负责探路,后面的俩指针完成逆序的变换!但要注意特殊情...

2018-11-04 20:33:07 2288

原创 【leetcode】删除链表的倒数第N个节点(C语言解答)

题目:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1-&gt;2-&gt;3-&gt;4-&gt;5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1-&gt;2-&gt;3-&gt;5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗? 解题思路:开始的时候,我的想法是:先计算链表...

2018-11-03 16:08:55 980

原创 【leetcode】删除链表中的节点(C解答)

题目:请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 -- head = [4,5,1,9],它可以表示为: 4 -&gt; 5 -&gt; 1 -&gt; 9示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了...

2018-10-31 22:04:33 645

原创 【leetcode】最长公共前缀(Python解答)

题目:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:

2018-10-29 16:17:17 4381 1

原创 【leetcode】报数(Python解答)

题目:报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1. 12. 113. 214. 12115. 1112211 被读作  "one 1"  ("一个一") , 即 11。11 被读作 "two 1s" ("两个一"), 即 21。21 被读作 "one 2",  "one 1" (&qu

2018-10-27 19:14:55 602

原创 【leetcode】28.实现strStr(Python解答)

题目:实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回  -1。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:输入: haystack = "aaaaa", ...

2018-10-26 16:21:07 157

原创 【leetcode】8. 字符串转整数 (atoi)(Python解答)

注:leecode的对这题的测试有问题这是博主本周第二次遇到错题!leetcode缺乏一点严谨!具体情况:题目:实现 atoi,将字符串转为整数。该函数首先根据需要丢弃任意多的空格字符,直到找到第一个非空格字符为止。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续...

2018-10-25 19:19:39 402

原创 leetcode125. 验证回文串(Python、C解答)

题目:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: false解题思路:先处理字符串:变为小写,取出其中的数字和字母验证是否...

2018-10-24 21:13:14 638

原创 【leetcode】有效的字母异位词(C、Python解答)

题目:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整...

2018-10-22 22:32:48 1358 2

原创 【leetcode】字符串中的第一个唯一字符(C、Python解答)

题目:字符串中的第一个唯一字符给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。案例:s = "leetcode"返回 0.s = "loveleetcode",返回 2. 注意事项:您可以假定该字符串只包含小写字母。C解答:在循环中设置标志位来记录此字母是否有重复int firstUniqChar(char* ...

2018-10-15 21:15:23 866

原创 【leetcode】颠倒整数(C、Python解答)

题目:给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231,  231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。 题目分析:...

2018-10-13 15:01:52 359

原创 【leetcode】反转字符串(C、Python解答)

题目反转字符串编写一个函数,其作用是将输入的字符串反转过来。示例 1:输入: "hello"输出: "olleh"示例 2:输入: "A man, a plan, a canal: Panama"输出: "amanaP :lanac a ,nalp a ,nam A" C解答:申请动态数组,逆序复制:char* reverseString(cha...

2018-10-11 13:22:44 813

原创 【leetcode】旋转图像(Python解答)

题目:  旋转图像给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5...

2018-10-09 22:15:09 329

原创 【leetcode】有效的数独(Python解答)

题目:判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。上图是一个部分填充的有效的数独。数独部分空格内已填入了数字,空白格用 '.' 表示。示例 1:输入:[ ["5","3",".",...

2018-10-07 19:28:02 521

原创 【leetcode】两数之和(C、Python解答)

题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]C解答:简单粗暴的双层循环:int* twoSum(int* nums, int nums...

2018-10-06 20:06:42 329

原创 【leetcode】买卖股票的最佳时机 II(Python、C解答)

题目:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交...

2018-10-06 13:26:38 395

原创 【leetcode】从排序数组中删除重复项(C、Python解答)

题目:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 n...

2018-10-06 13:15:38 712

空空如也

空空如也

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

TA关注的人

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