剑指Offer
笔记
暖轻歌
这个作者很懒,什么都没留下…
展开
-
剑指Offer50 第一个只出现一次的字符
C++哈希表,记录是否键值(字符)出现class Solution {public: char firstUniqChar(string s) { unordered_map<char, bool> map; for(auto i : s){ if(map.find(i)==map.end()) map[i] = false; //第一次出现,false else map[i] = true; .原创 2022-03-16 22:43:01 · 6606 阅读 · 1 评论 -
剑指Offer29 顺时针打印矩阵
C++class Solution {public: vector<int> spiralOrder(vector<vector<int>>& matrix) { vector<int> res; if(matrix.empty()) return {}; //不能返回一个没有初始化的vector数组 int l=0, r=matrix[0].size()-1, t=0, b=..原创 2022-03-16 21:45:55 · 787 阅读 · 0 评论 -
剑指Offer05 替换空格
C++在 C++ 语言中, string 被设计成「可变」的类型,因此可以在不新建字符串的情况下实现原地修改。class Solution {public: string replaceSpace(string s) { int count = 0, len = s.size(); for(auto i:s) if(i == ' ') count++; //统计空格数量 s.resize(len + .原创 2022-03-16 21:05:52 · 1829 阅读 · 0 评论 -
剑指Offer03 数组中重复的数字
法一:哈希表(c++ map,python set)键值一一对应,如果键存在重复返回键,没有就插入这个键C++class Solution {public: int findRepeatNumber(vector<int>& nums) { unordered_map<int, bool> map; //unordered_map不排序,速度更快 for(int num : nums) { .原创 2022-03-16 19:59:58 · 1365 阅读 · 0 评论 -
剑指Offer04 二维数组中的查找
C++思路class Solution {public: bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) { int j = 0, i = matrix.size()-1; while(i>=0&&j<matrix[0].size()){ if(matrix[i][j]>target) i.原创 2021-10-25 21:21:26 · 3739 阅读 · 0 评论 -
剑指Offer09--用两个栈实现队列
C++C++的pop()函数没有返回值,Python列表的pop()函数有返回值class CQueue { stack<int> stack1; stack<int> stack2;public: CQueue() {} void appendTail(int value) { stack1.push(value); } int deleteHead() { if(.原创 2021-10-20 20:32:07 · 71 阅读 · 0 评论 -
剑指 Offer 10- I. 斐波那契数列
C++递归的方法超时了,这里使用动态规划的思想。不断替换a,b的值,而不是每次递归执行两次函数class Solution {public: int fib(int n) { if (n == 0) return 0; if (n == 1 || n == 2) return 1; int a = 1, b = 1, sum = 0; for (int i = 3; i <= n; i++) { .原创 2021-10-25 19:58:43 · 58 阅读 · 0 评论 -
剑指 Offer 10- II. 青蛙跳台阶问题
C++class Solution {public: int numWays(int n) { int a=1, b=1, sum=2; if(n==0||n==1) return 1; for(int i=1;i<n;i++){ sum=(a+b)%1000000007; //防止超出int型范围 a=b; b=sum; } .原创 2021-10-27 18:29:21 · 75 阅读 · 0 评论