
C++
gremount
这个作者很懒,什么都没留下…
展开
-
try 和 catch 的用法
try块是什么?一个try块就是程序尝试去执行一段代码,try块后面会有几个异常处理块,如果try块中发生了异常,程序执行流就会进入相应的异常处理块中。以下程序会帮助理解这个概念#include<iostream> using namespace std;int main() { int a=1; try { if(a==100) co原创 2015-11-06 22:54:12 · 885 阅读 · 0 评论 -
Leetcode: Maximum Depth of Binary Tree
Leetcode: Maximum Depth of Binary Tree题目:算出二叉树的最大深度解决方案:(1)BFS (2)DFS(1)BFS 一层一层往下搜索,一直找到最深的点,这里由于节点的val是没有用的,所以可以用来存储当前节点的深度,然后注意指针一定要初始化,不然在leetcode里可能会出现runtime error原创 2015-11-14 21:18:20 · 353 阅读 · 0 评论 -
Leetcode: Jump Game
这道题最大的特点是数组的元素是每次可以跳跃的最大值,而不是一定要跳那么多的位置,所以这里可以跳的范围就该是一个连续的位置,不存在中间不可以跳的位置。据此,我们可以设计两个变量来记录可以跳跃的位置,局部最远的位置和全局最远的位置原创 2015-12-06 11:31:38 · 421 阅读 · 0 评论 -
Leetcode题 112 和 113. Path Sum I and II
112和113题目是类似的,都是找出等于给定值的路径,不过前者只看有没有,后者是要输出所有符合条件的路径。 112由于只要看有没有等于给定值的路径,所以可以用BFS,将每个树节点的val改为从根节点到当前节点的距离,这样改到树的叶子节点的时候,就可以判断是否有叶子节点的距离值符合要求。 113由于需要输出所有符合条件的路径,如果树节点的数据结构不可以改,那这就不适合用BFS,因为如果用BFS需要在每个树节点里维护一个到达当前节点经过的节点记录;所以这里改用DFS,通过修改一个存储路径的vector来统计所有原创 2016-07-31 15:54:26 · 334 阅读 · 0 评论 -
LeetCode 16. 3Sum Closest
leetcode 16. 3Sum Closest 时间复杂度: N^2 该题如果用暴力搜索,三重循环,时间复杂度是N^3,这样很可能 会超时,所以考虑先排序所有的元素,然后对三个变量也按照一定 的前后顺序排列,有方向的搜索解(三个元素的和比较target来确定 搜索方向)原创 2016-08-08 11:07:13 · 229 阅读 · 0 评论 -
LeetCode 18. 4Sum
leetcode 18. 4Sum 时间复杂度: N^3 该题如果用暴力搜索,四重循环,时间复杂度是N^4,这样很可能 会超时,所以考虑先排序所有的元素,然后对四个变量也按照一定 的前后顺序排列,有方向的搜索解(四个元素的和比较target来确定 搜索方向) 这里要考虑去重,每一个循环里都要考虑原创 2016-08-08 14:47:22 · 262 阅读 · 0 评论 -
第四章 基本TCP套接字编程 第五章 TCP客户/服务器程序实例
TCP客户与服务器进程之间发生的重大事件时间表 TCP服务器 socket() --- bind() --- listen() --- accept() --- read() --- write --- read() --- close TCP客户 socket() --- connect() --- write() --- read() --- close()原创 2016-08-13 17:49:17 · 437 阅读 · 0 评论 -
LeetCode 21. Merge Two Sorted Lists
该题是要求合并两个已排序的列表, 在最终的链表前再加一个节点head,使得程序的思路很清晰原创 2016-08-14 19:46:21 · 270 阅读 · 0 评论