
《剑指Offer》
文章平均质量分 79
微电子学与固体电子学-俞驰
如切如磋,如琢如磨,臻于至善。
展开
-
07_QueueWithTwoStacks
用两个栈来模仿队列:Queue.h#pragma once#include <stack>#include <iostream>#include <exception>using namespace std;template <typename T> class CQueue//CQueue<char> queue;中的char...转载 2018-07-08 14:09:53 · 404 阅读 · 0 评论 -
char[]和char*的区别(转)
代码如下:#include<iostream>using namespace std;int main(){ char str1[] = "Hello world"; char str2[] = "Hello world";//这里开辟了两处空间,所以不相等 if (str1 != str2) cout << "str1和str2不相等" <<..转载 2018-07-07 21:43:31 · 439 阅读 · 0 评论 -
03_FindInPartiallySortedMatrix.cpp
代码来自剑指offer,详细解释如下:#include<iostream>using namespace std;// 二维数组matrix中,每一行都从左到右递增排序,// 每一列都从上到下递增排序bool Find(int* matrix, int rows, int columns, int number){ bool found = false; if (ma...转载 2018-07-07 21:32:00 · 249 阅读 · 0 评论 -
01_AssignmentOperator详细解释
代码出自剑指offer,自己做了详细的注释,代码如下:#include<cstring>#include<cstdio>#include<iostream>using namespace std;class CMyString{public: CMyString(const char* pData = nullptr);//构造函数 CMyS...转载 2018-07-07 20:50:55 · 1241 阅读 · 0 评论 -
空指针引起的崩溃
空指针引起的崩溃,以C++为例:#include<cstring>#include<cstdio>#include<iostream>using namespace std;int main(){ char *a = "hello world"; char *b = NULL; cout << a<< endl; /...原创 2018-07-07 20:29:16 · 1885 阅读 · 0 评论 -
剑指offer(C++)——链表中环的入口结点
代码如下:struct ListNode { int val; struct ListNode *next; ListNode(int x) :val(x), next(NULL) {}}; /*思路:设置两个指针p1和p2,如果链表中有n个结点,指针p1先向前移动n个结点,然后两个指针以相同速度向前移动,当两个指针相遇的结点就是环的入口结点。如何统计环中结点个数n:设置一快一慢两个...转载 2018-07-11 20:46:07 · 454 阅读 · 0 评论 -
leetcode 算法解析(一):260. Single Number III(C++版本和自己的注解)
这个题来自《剑指offer》但是书上上感觉讲解不太详细,还是看博客吧(我把下面博客改写成了C++版本运行通过)注意这个题的相关代码中,输入的数组只能有两个数出现一次,如果有第三个数出现一次,那么这个代码就会失效。总结下算法思路:假设原始数组中只出现一次的元素是A和B,原始数组为{A,E,C,D,C,D,E,B}主要是利用异或的交换律。先把所有数字按次序进行异或运算,得到的结果必然是A⊕B,因为其他...转载 2018-07-11 14:52:20 · 514 阅读 · 0 评论 -
面试题之丑数的C++实现求解(孤陋寡闻了,才知道丑数这么high的东东)
问题描述: 我们把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第1500个丑数。(昨天突然发现个不错的博客:http://blog.youkuaiyun.com/v_JULY_v,突然知道丑数这个题,于是搜之) 当然,最简单的肯定是遍历啊,想当年初学的时候,什么水仙花数,完数,...转载 2018-07-10 17:02:54 · 778 阅读 · 0 评论 -
11_Power
代码和详细注释如下:#include<iostream>#include<math.h>bool g_InvalidInput = false;bool equal(double num1, double num2);double PowerWithUnsignedExponent(double base, unsigned int exponent);doub...转载 2018-07-08 21:18:55 · 244 阅读 · 0 评论 -
09_Fibonacci
这道题对fibonacci进行改进#include<iostream>using namespace std;long long Fibonacci_Solution1(unsigned int n){ if (n <= 0) return 0; if (n == 1) return 1; return Fibonacci_Solution1(n - 1...转载 2018-07-08 18:45:57 · 383 阅读 · 0 评论 -
08_MinNumberInRotateArrary
这道题是从leetcode上面引用过来的,153. Find Minimum in Rotated Sorted Array代码如下:#include<iostream>#include<vector>#include<algorithm>using namespace std;class Solution {public: int findMin...转载 2018-07-08 17:32:12 · 213 阅读 · 0 评论 -
04_ReplaceBlank
操作两个指针,一个处理原来的字符串,一个处理新字符串,前者不碰到空格的话,就与后者同步。否则后者增加%20.代码如下:#include<iostream>#include<string>using namespace std;/*length 为字符数组string的总容量*/void ReplaceBlank(char string[], int length)...转载 2018-07-07 22:12:42 · 332 阅读 · 0 评论