- 博客(17)
- 资源 (20)
- 收藏
- 关注
原创 LeetCode 64:最小路径和
题目思路当前点值为grid[i][j],则到达该点最小路径总和:dis[i][j] = min(dis[i][j-1],dis[i-1][j]) + grid[i][j]第一列最小路径总和为:dis[i][j] = dis[i][j-1] + grid[i][j]第一行最小路径总和为:dis[i][j] = dis[i-1][j] + grid[i][j]。从左上到右下遍历...
2018-08-23 22:07:20 386
原创 LeetCode 349,350:两个数组的交集
题目思路leetcode把该题放在了二分查找类别底下,被误导了,一开始思路是从nums1中找nums2的值,由于两个数组存在重复数,实际使用直接遍历查找十分简单。首先将两个数组排序,各自从nums1和nums2的第一个元素开始,如果相同,将该元素放入输出数组;如果nums1元素大,nums2向后找;如果nums2元素大,nums1向后找,直到有一个数组被遍历。其中将相同元素数组...
2018-08-22 11:43:22 865 2
原创 LeetCode 35,704:搜索插入位置和二分查找
LeetCode 35:搜索插入位置 LeetCode 704:二分查找 两题都是最基本的二分查找问题,两题一起来做。题目LeetCode 35:搜索插入位置 LeetCode 704:二分查找 思路两题都是最基本的二分法问题,区别是不存在时的返回方式。704比较容易,只需要返回-1,而35需要返回插入位置,两者最后的特殊情况处理不同。代码LeetC...
2018-08-21 21:13:00 441
原创 LeetCode 542:01矩阵
题目思路方法1,笨方法,首先想到的是,把0的位置先找出来存起来,然后对非零位置找离最近0的距离,这样算复杂度很高。方法2,找邻域,确定与0的距离。第一次循环,遍历所有点,如果当前点为0,跳过;否则,找其邻域4个点是否有0,如果有,跳过;如果没有,将该点的值+1;第二次循环,如果当前点小于等于1,跳过;否则,找其邻域4个点是否有1,如果有,跳过;如果没有,将该点的值+1;...
2018-08-20 22:44:27 2280
原创 C++学习21:操作符sizeof学习
sizeof是一个操作符,用于计算一个变量或类型的大小(以字节为单位)。1.sizeof操作在编译阶段进行最直观的验证方式为:int num[10];int a[sizeof(num)];C++中一般是不能使用变量作为一个数组的长度的,必须使用常量。这里不会报错,这是因为sizeof(num)在编译阶段已经完成计算。2.sizeof计算类型或变量大小sizeof可...
2018-08-20 18:24:42 475 4
原创 LeetCode 338:比特位计数
题目思路考点就是统计1的个数,直接想到的就是n&(n-1),需要遍历所有的数字进行统计,复杂度较高。在看了别人的做法以后,改了版本2。规律为: 1.首先考虑数字表示所需的二进制位数,每两个数所需位数相同,比如0和1需要1位,2和3需要2位……每一对数包含一个奇数一个偶数,奇数中包含的1的个数比偶数多1。 2.对于偶数和它右移1位的数字包含1的个数相同。公式:re...
2018-08-20 09:39:27 1172
原创 LeetCode 821:字符的最短距离
题目思路首先找出字符C所在位置,然后遍历字符串S,计算和字符C位置的最短距离。代码class Solution {public: vector<int> shortestToChar(string S, char C) { int n = S.size(); vector<int> temp; ...
2018-08-19 19:05:56 457
原创 LeetCode 867:转置矩阵
题目思路重新定义一个容器,将行列互换存储即可。代码class Solution {public: vector<vector<int>> transpose(vector<vector<int>>& A) { vector<vector<int>> AT; ...
2018-08-19 09:35:46 558
原创 LeetCode 171:Excel表列序号
题目思路26进制与10进制转换问题,不过这个26进制都是大于0的,没有0,这样就更简单了,不需要考虑首位为0的问题。代码class Solution {public: int titleToNumber(string s) { int n = s.size(); int temp=0; for(int i=0;i&l...
2018-08-18 21:22:58 375
原创 LeetCode 292:Nim游戏
题目思路乍一看还是很难的,以为要用动态规划,熟悉了游戏规则和题目要求之后,统计规律就可以做了。下面来分情况分析下。如果石头小于4块,可以直接都拿走,必胜: 如果石头为4块,无论拿1块还是3块,剩余石头数都少于4块,必输; 如果石头为5-7块,可以拿走1-3块,使得剩余石头数等于4块,必胜; 如果石头为8块,无论拿1块还是3块,都会是5-7块,对方可以将石头数变成4块,...
2018-08-18 21:10:25 212
原创 LeetCode 617:合并二叉树
题目思路初始想法是遍历两棵树,把对应节点位置相加。使用递归方式遍历树最为容易,在遍历过程中,对t1和t2的对应节点值相加。如果某个节点位置t1不存在节点,则直接返回该位置的t2节点;反之,如果t2不存在节点,则返回t1节点。代码/** * Definition for a binary tree node. * struct TreeNode { * int ...
2018-08-18 17:33:16 310
原创 LeetCode 371:两数之和
题目思路不使用+和-操作,也就是要求使用位运算进行加法运算。推荐阅读:https://blog.csdn.net/zhongjiekangping/article/details/6855864只考虑一位二进制数情况,加法有四种情况: 0+0=0 0+1=1 1+0=1 1+1=0(进位) 各位情况实际就是^异或操作,只有在1+1时进位,也就是&与操作,而...
2018-08-18 09:44:53 271
原创 LeetCode 6:Z字形变换
题目思路定义numRows大小的vector容器来存Z字形排列的字符。比对输入输出,忽略空格,可以发现规律,拿出2*numRows-1个字符来看如下图,就是一种迂回读取。先按行升序读取到对应行,然后再反过来降序读取到对应行,一直这样重复即可。 代码class Solution {public: string convert(string s, int numRo...
2018-08-16 17:50:58 251
原创 海康实习经历分享
经过5周的海康实习,感受还是颇多的,来分享一下实习经历吧。首先来洗脑式的说下海康,也算让大家了解一下这个公司。海康背景说起来有点复杂,是中电海康集团的下属公司,而中电海康集团是中电的子集团,百分之百的国有企业。海康呢,是国有控股的上市企业,公司背景很不错。不过就实习这段时间来看,完全不像国企,感觉上就是个私企。不要把海康威视和中电海康、中电52所弄混了,完全不一样的。言归正传说实习吧,本人...
2018-08-15 11:49:07 23983 12
原创 LeetCode 559,589,590:N叉树的前序遍历、先序遍历、最大深度
题目 思路N叉树的结构如下:class Node {public: int val; vector&amp;lt;Node*&amp;gt; children; Node() {} Node(int _val, vector&amp;lt;Node*&amp;gt; _children) { val = _val; children = ...
2018-08-15 10:20:41 2556 1
原创 LeetCode 226:翻转二叉树
题目思路对树的问题采用递归的方式比较容易。从变换形式可以看到,该题实际就是将左右子树交换位置,题目没有告诉是完全二叉树,因此可能存在某个节点只有左子树或右子树中的一个,此时也要进行交换。代码/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeN...
2018-08-15 09:38:18 568
原创 记一次链接dll、lib的低级错误
最近在一个软件,需要QT调用dll的项目。昨天遇到一个问题,debug下一切正常,而release下就会报错内存冲突。这个错误还是很明显的,肯定是内存管理问题,直错很简单,很快发现了我有个地方数值设置错了,导致越界。但是运行之后,发现不论怎么修改dll运行还是报错,问题相同,还是内存冲突。于是我开始进一步找错,补充初始化之类的都试了都还是报错。本来dll主函数运行正常时会返回0,错误返...
2018-08-04 10:04:09 511
YUViewSetup.msi
2019-11-26
360Lib-HM16.14整合版本
2017-10-16
2014西电宽带无线通信试题答案
2017-01-08
2015.1西电宽带无线通信试题答案
2017-01-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人