剑指力扣

刷题进阶 -- 剑指Offer、力扣算法题 力扣的刷题计划展览罢了 懒得记录题解了,刷题地址 「剑指 Offer」 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台 刷题过程中发现动态规划是弱项,找了动态规划的学习计划: 「动态规划」 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台 以及递归、回溯、BFS、DFS: 「算法」 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台 发现一个面试小题库: 「高效制胜」 - 学习计划 - 力扣(LeetCode)全... 阅读详情

剑指力扣

链表

206 反转链表 & 剑指 Offer 24 反转链表(简单)

206 反转链表 & 剑指 Offer 24 反转链表

执行用时:8 ms, 在所有 C++ 提交中击败了90.86%的用户

内存消耗:8.5 MB, 在所有 C++ 提交中击败了58.16%的用户

class Solution {
public:
    ListNode* reverseList(ListNode* head) {
        if (head == nullptr || head->next == nullptr) return head;
        if (head->next->next == nullptr) {
            ListNode* phead = head->next;
            head->next->next = head;
            head->next = nullptr;
            return phead;
        }
        ListNode* first = head, * second = first->next, * third = second->next;
        first->next = nullptr;
        while (third != nullptr) {
            second->next = first;
            first = second;
            second = third;
            third = third->next;
        }
        second->next = first;
        return second;
    }
};

注释:经常看看,记住关键步骤即可

876 链表的中间结点(简单)

876 链表的中间结点

法一:两次遍历

执行用时:4 ms, 在所有 C++ 提交中击败了35.09%的用户

内存消耗:7 MB, 在所有 C++ 提交中击败了10.13%的用户

class Solution {
public:
    ListNode* middleNode(ListNode* head) {
        if (head == nullptr) return nullptr;
        ListNode* p = head;
        int count = 1;
        while (p->next != 0) {
            p = p->next;
            count++;    
        }
        count /= 2;
        p = head;
        for (int i = 0; i < count; i++) {
            p = p->next;
        }
        return p;
    }
};

法二:快慢指针

执行用时:4 ms, 在所有 C++ 提交中击败了35.09%的用户

内存消耗:6.9 MB, 在所有 C++ 提交中击败了32.93%的用户

class Solution {
public:
    ListNode* middleNode(ListNode* head) {
        if (head == nullptr) return nullptr;
        ListNode* p = head;
        int count = 1;
        while (p->next != 0) {
            p = p->next;
            count++;    
        }
        count /= 2;
        p = head;
        for (int i = 0; i < count; i++) {
            p = p->next;
        }
        return p;
    }
};

剑指 Offer 06 从尾到头打印链表(简单)

剑指 Offer 06 从尾到头打印链表

执行用时:12 ms, 在所有 C++ 提交中击败了28.33%的用户

内存消耗:9 MB, 在所有 C++ 提交中击败了39.63%的用户

class Solution {
public:
    vector<int> reversePrint(ListNode* head) {
        if (head == nullptr) return {};
        ListNode* phead = head;
        stack<int> s;
        vector<int> res;
        while (phead != nullptr) {
            s.push(phead->val);
            phead = phead->next;
        }
        while (!s.empty()) {
            res.push_back(s.top());
            s.pop();
        }
        return res;
    }
};

但凡提到反转,都可以考虑一下辅助栈。

1290 二进制链表转整数(简单)

1290 二进制链表转整数

执行用时:0 ms, 在所有 C++ 提交中击败了100.00%的用户

内存消耗:8.5 MB, 在所有 C++ 提交中击败了24.03%的用户

class Solution {
public:
    int getDecimalValue(ListNode* head) {
        int num = 0;
        while (head != nullptr) {
            num = num * 2 + head->val;
            head = head->next;
        }
        return num;
    }
};

141 环形链表(简单)

141 环形链表

执行用时:8 ms, 在所有 C++ 提交中击败了93.73%的用户

内存消耗:7.9 MB, 在所有 C++ 提交中击败了29.02%的用户

快慢指针法:

class Solution {
public:
    bool hasCycle(ListNode* head) {
        if (head == nullptr || head->next == nullptr) return false;
        ListNode* fast= head, * slow = head;
        while (fast != nullptr) {
            fast = fast->next;
            if (fast == nullptr) break;
            fast = fast->next;
            slow = slow->next;
            if (fast == slow) return true;
        }
        return false;
    }
};

24. 两两交换链表中的节点(简单)

24. 两两交换链表中的节点

执行用时:4 ms, 在所有 C++ 提交中击败了72.30%的用户

内存消耗:7.9 MB, 在所有 C++ 提交中击败了7.02%的用户

class Solution {
public:
    ListNode* swapPairs(ListNode* head) {
        if (head == nullptr || head->next == nullptr) return head;
        ListNode* phead = new ListNode, * first = phead, * second = head, * third = head->next;
        phead->next = head;
        while (third != nullptr) {
            first->next = third;
            second->next = third->next;
            third->next = second;
            if (second->next == nullptr || second->next->next == nullptr) break;
            first = second;
            second = second->next;
            third = second->next;
        }
        return phead->next;
    }
};

找准“中间态”即可。

2. 两数相加

2. 两数相加

执行用时:56 ms, 在所有 C++ 提交中击败了43.45%的用户

内存消耗:69.4 MB, 在所有 C++ 提交中击败了88.33%的用户

class Solution {
public:
    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
        ListNode* p1 = l1, * p2 = l2;
        int len1 = 0, len2 = 0;
        while (p1 != nullptr) { p1 = p1->next; len1++; }
        while (p2 != nullptr) { p2 = p2->next; len2++; }
        if (len1 < len2) return addTwoNumbers(l2, l1);
        p1 = l1, p2 = l2;
        while (p2 != nullptr) {
            p1->val += p2->val;
            p1 = p1->next, p2 = p2->next;
        }
        p1 = l1;
        while (p1->next != nullptr) {
            if (p1->val > 9) {p1->val -= 10; p1->next->val++; }
            p1 = p1->next;
        }
        if (p1->val > 9) {
            ListNode* new_node = new ListNode;
            new_node->next = nullptr;
            new_node->val = 1;
            p1->next = new_node;
            p1->val -= 10;
        }
        return l1;
    }
};

数组

剑指 Offer 03. 数组中重复的数字(简单)

剑指 Offer 03. 数组中重复的数字

法一:哈希表

执行用时:132 ms, 在所有 C++ 提交中击败了30.13%的用户

内存消耗:27.3 MB, 在所有 C++ 提交中击败了20.05%的用户

class Solution {
public:
    int findRepeatNumber(vector<int>& nums) {
        unordered_set<int> table;
        for (int i = 0; i < nums.size(); i++) {
             if (table.count(nums[i]) > 0) return nums[i];
            table.insert(nums[i]);
            //思考:为什么下面不行?
            // table.insert(nums[i]);
            // if (table.count(nums[i]) > 1) return nums[i]; 
        }
        return 0;
    }
};

法二:原地置换

无~

剑指 Offer 45. 把数组排成最小的数(中等)

剑指 Offer 45. 把数组排成最小的数

执行用时:12 ms, 在所有 C++ 提交中击败了72.75%的用户

内存消耗:11.7 MB, 在所有 C++ 提交中击败了14.89%的用户

class Solution {
public:
    static bool str_cmp(const string& str1, const string& str2) {
        return str1 + str2 < str2 + str1 ? true : false;
    }
    string minNumber(vector<int>& nums) {
        int n = nums.size();
        vector<string> str;
        string res = "";
        if (n == 0) return res;
        for (int i = 0; i < n; i++) str.push_back(to_string(nums[i]));
        sort(str.begin(), str.end(), str_cmp);
        for (int j = 0; j < str.size(); j++) res += str[j];
        return res;
    }
};

难点:

1.定义排序规则:若字符串 x + y > y + x。则定义 x > y。

2.定义排序函数

剑指 Offer 56 - II. 数组中数字出现的次数 II(中等)

剑指 Offer 56 - II. 数组中数字出现的次数 II

法一:哈希表

执行用时:76 ms, 在所有 C++ 提交中击败了74.05%的用户

内存消耗:18.4 MB, 在所有 C++ 提交中击败了24.49%的用户

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        unordered_map<int, int> table;
        for (int i = 0; i < nums.size(); i++) table[nums[i]]++;
        for (unordered_map<int, int>::iterator it = table.begin(); it != table.end(); it++) 
            if (it->second == 1) 
                return it->first;
        /*用下标访问也可:
        for (int i = 0; i < nums.size(); i++) 
            if (table[nums[i]] == 1) 
                return nums[i];
        */
        return -1;
    }
};

法二:二进制各位数字出现的次数

执行用时:80 ms, 在所有 C++ 提交中击败了68.87%的用户

内存消耗:16.4 MB, 在所有 C++ 提交中击败了33.36%的用户

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int res = 0, arr[32] = { 0 };  //记录各个位上1的个数
        for (int i = 0; i < nums.size(); i++) {
            for (int j = 0; j < 32; j++) {
                if (nums[i] % 2 != 0) arr[j]++;
                nums[i] /= 2;
            }
        }
        for (int k = 0; k < 32; k++) 
            if (arr[k] % 3 != 0) 
                res += pow(2, k);
        return res;
    }
};

46. 全排列

46. 全排列

执行用时:4 ms, 在所有 C++ 提交中击败了92.27%的用户

内存消耗:7.8 MB, 在所有 C++ 提交中击败了86.53%的用户

class Solution {
public:
    int Num(int num) {
        int res = 1;
        for (int i = 1; i <= num; i++) res *= i;
        return res;
    }

    vector<vector<int>> permute(vector<int>& nums) {
        vector<vector<int> > res;
        for (int i = 0; i < Num(nums.size()); i++) {
            res.push_back(nums);
            next_permutation(nums.begin(), nums.end());
        }
        return res;
    }
};

使用algorithm中的next_permutation函数会使这道题变得很无脑。以后有机会尝试用其他方法解决。

不要过度依赖algorithm库!

239. 滑动窗口最大值(困难)

239. 滑动窗口最大值

滑动窗口法:(超时)

class Solution {
public:
    vector<int> maxSlidingWindow(vector<int>& nums, int k) {
        vector<int> res;
        for (int i = 0; i < nums.size() - k + 1; i++) {
            int max = INT_MIN;
            for (int j = 0; j < k; i++) {
                if (nums[j] > max) max = nums[j];
            }
            res.push_back(max);
        }
        return res;
    }
};

字符串

387. 字符串中的第一个唯一字符(简单)

387. 字符串中的第一个唯一字符

执行用时:28 ms, 在所有 C++ 提交中击败了80.91%的用户

内存消耗:10.6 MB, 在所有 C++ 提交中击败了93.55%的用户

class Solution {
public:
    int firstUniqChar(string s) {
        int table[26] = { 0 };
        for (int i = 0; i < s.size(); i++) 
            table[s[i] - 'a']++;
        for (int j = 0; j < s.size(); j++) 
            if (table[s[j] - 'a'] == 1) 
                return j;
        return -1;
    }
};

567. 字符串的排列(中等)

567. 字符串的排列

执行用时:368 ms, 在所有 C++ 提交中击败了5.02%的用户

内存消耗:7.4 MB, 在所有 C++ 提交中击败了79.27%的用户

滑动窗口+哈希表

class Solution {
public:
    bool checkInclusion(string s1, string s2) {
        int n1 = s1.size(), n2 = s2.size(), table[26] = { 0 };
        for (int i = 0; i < n1; i++) table[s1[i] - 'a']++;
        for (int j = 0; j < n2; j++) {
            int tmp[26];  //创建table的复制版
            for (int k = 0; k < 26; k++) tmp[k] = table[k];
            int count = 0, index_s2 = j;
            while (index_s2 < n2 && tmp[s2[index_s2++] - 'a']-- > 0) count++;
            if (count == n1) return true;
        }
        return false;
    }
};

14.最长公共前缀(简单)

14. 最长公共前缀

执行用时:4 ms, 在所有 C++ 提交中击败了92.77%的用户

内存消耗:9.5 MB, 在所有 C++ 提交中击败了33.07%的用户

纵向扫描法

class Solution {
public:
    string longestCommonPrefix(vector<string>& strs) {
        if (strs.size() == 0) return "";
        string res = "";
        for (int j = 0; ; j++) {  //i代表行数,j代表列数
            for (int i = 0; i < strs.size(); i++) {
               char c = strs[0][j];
               if (c != strs[i][j] || j == strs[i].size()) return res;
            }
            res += strs[0][j];
        }
        return res;
    }
};

可以尝试横向扫描法。

贪心

455. 分发饼干(简单)

455. 分发饼干

执行用时:32 ms, 在所有 C++ 提交中击败了99.05%的用户

内存消耗:17.1 MB, 在所有 C++ 提交中击败了98.40%的用户

class Solution {
public:
    int findContentChildren(vector<int>& g, vector<int>& s) {
        sort(g.begin(), g.end());
        sort(s.begin(), s.end());
        int index_s = 0, index_g = 0;
        while (index_s < s.size() && index_g < g.size())
            if (g[index_g] <= s[index_s]) { index_s++; index_g++; }
            else index_s++;
        return index_g;
    }
};

贪心的标志算法

55.跳跃游戏(中等)

55. 跳跃游戏

执行用时:8 ms, 在所有 C++ 提交中击败了99.24%的用户

内存消耗:12.5 MB, 在所有 C++ 提交中击败了94.64%的用户

class Solution {
public:
    bool canJump(vector<int>& nums) {
        int dist = 0;
        for (int i = 0; i <= dist && i < nums.size(); i++)
            dist = max(dist, nums[i] + i);
        return dist >= nums.size() - 1;
    }
};

45. 跳跃游戏II

45. 跳跃游戏 II

执行用时:8 ms, 在所有 C++ 提交中击败了99.81%的用户

内存消耗:15.1 MB, 在所有 C++ 提交中击败了93.23%的用户

class Solution {
public:
    int jump(vector<int>& nums) {
        if (nums.size() == 1) return 0;
        int left = 0, right = 0, steps = 0;  //用left和right维护一个区间
        while (left <= right) {
            int max_r = 0;
            for (int i = left; i <= right; i++)
                max_r = max(max_r, nums[i] + i);
            left = right, right = max_r;
            steps++;
            if (right >= (int)nums.size() - 1) break;
        }
        return steps;
    }
};

位运算

231. 2的幂(简单)

231. 2的幂

方法一:

执行用时:0 ms, 在所有 C++ 提交中击败了100.00%的用户

内存消耗:5.7 MB, 在所有 C++ 提交中击败了98.60%的用户

class Solution {
public:
    bool isPowerOfTwo(int n) {
        return n > 0 && (1 << 30) % n == 0;
    }
};

方法二:

执行用时:0 ms, 在所有 C++ 提交中击败了100.00%的用户

内存消耗:5.8 MB, 在所有 C++ 提交中击败了97.10%的用户

class Solution {
public:
    bool isPowerOfTwo(int n) {
        return n > 0 && (n & -n) == n;
    }
};

x & -x表示x的二进制中最靠近右边的1及以后的数

762. 二进制表示中质数个计算置位(简单)

762. 二进制表示中质数个计算置位

执行用时:40 ms, 在所有 C++ 提交中击败了39.26%的用户

内存消耗:6.2 MB, 在所有 C++ 提交中击败了58.97%的用户

class Solution {
public:
    int countPrimeSetBits(int L, int R) {
        unordered_set<int> table = { 2,3,5,7,11,13,17,19,23,29,31 };
        int num = 0;
        for (int i = L; i <= R; i++) {
            int n = 0;
            for (int j = i; j; j >>= 1) n += (j & 1);  //计算二进制1的个数。常见技巧!
            if (table.count(n)) num++;
        }
        return num; 
    }
};

136. 只出现一次的数字

136. 只出现一次的数字

执行用时:12 ms, 在所有 C++ 提交中击败了99.83%的用户

内存消耗:16.5 MB, 在所有 C++ 提交中击败了96.73%的用户

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int ret = 0;
        for (auto x : nums) ret ^= x;
        return ret;
    }
};

t countPrimeSetBits(int L, int R) {
unordered_set table = { 2,3,5,7,11,13,17,19,23,29,31 };
int num = 0;
for (int i = L; i <= R; i++) {
int n = 0;
for (int j = i; j; j >>= 1) n += (j & 1); //计算二进制1的个数。常见技巧!
if (table.count(n)) num++;
}
return num;
}
};




### 136. 只出现一次的数字

[136. 只出现一次的数字](https://leetcode-cn.com/problems/single-number/)

>执行用时:12 ms, 在所有 C++ 提交中击败了99.83%的用户
>
>内存消耗:16.5 MB, 在所有 C++ 提交中击败了96.73%的用户

~~~cpp
class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int ret = 0;
        for (auto x : nums) ret ^= x;
        return ret;
    }
};

技巧: a ^ a = 0 a ^ 0 = a

【LeetCode】剑指Offer LeetCode剑指Offer 阅读详情

相关推荐

BPMN2.0规范及流程引擎选型方案

本文主要简明扼要的介绍了BPMN2.0规范的内容,可让读者快速度的了解BPMN2.0所涵盖的主要内容和图形样式。也较为详细的阐述了如何绘制标准的流程图,以及在软件层面中如何实现业务流程功能,和技术选型。

比特桃 1万+

剑指offer刷题笔记

剑指offer刷题笔记3.数组中的重复的数字4.二位数组中的查找5.替换空格6.从尾到头打印链表 3.数组中的重复的数字 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 2 <= n <= 100000 方法一:暴力解法 class Solution { public int findRepeatNumber(int[] nums) {

Listen·Rain的博客 734

神联动:LSTM+卡尔曼滤波!一区大门轻松开!

近来热度飙升,成为时间序列预测和状态估计等领域的香饽饽,非常好发高区!主要在于:这两者结合,不仅能提高模型预测准确性;还能拓展应用场景,为我们的论文创新提供发挥空间,且当下还在蓝海阶段,还不算卷。具体点说:卡尔曼滤波擅长处理线性状态估计和噪声,能使LSTM更好地适应动态环境的变化,减少噪声干扰,降低预测误差。而LSTM通过捕捉长期依赖关系,擅长处理非线性时间序列,能够弥补卡尔曼滤波在这方面的不足,从而把应用场景从传统的状态估计,延伸到金融预测、工业检测、自动驾驶等任务。

2401_82426425的博客 2208

【Leecode笔记】第十五周(下)(12.18-12.20)哈希表专题

【12.18】———————————————————————————————————————————— 【第一题】只出现一次的数字 分析:不需要额外空间的方法,就往位运算上想。 //异或 //执行用时:1 ms, 在所有 Java 提交中击败了99.91% 的用户 //内存消耗:38.6 MB, 在所有 Java 提交中击败了80.24% 的用户 class Solution{ public int SingleNumber(int[] nums){ int single = 0; for(i

历乱的日记簿 291

PCB设计教程【入门篇】——PCB设计基础-PCB构成与组成

本教程基于B站Expert电子实验室的PCB设计教学的整理,为个人学习记录,旨在帮助PCB设计新手入门。所有内容仅作学习交流使用,无任何商业目的。若涉及侵权,请随时联系,将会立即处理。

2501_91732643的博客 7638

零外围电路!用CH340X实现ESP32一键下载的完整教程

本文详细介绍了如何利用CH340X系列USB转串口芯片实现ESP32的一键自动下载功能,无需任何外围逻辑控制电路。通过解析CH340X的增强型DTR/RTS功能,提供核心电路设计、电压匹配方案,并指导在Arduino IDE和PlatformIO中进行软件配置,帮助开发者构建简洁、可靠且低成本的ESP32下载方案。

gpu4optimizer的博客 772

1-5 LC25 K个一组翻转链表 LC61 旋转链表 LC24 两两交换链表中的节点 Java力扣刷题笔记

LC25 K个一组翻转链表 LC61 旋转链表 LC24 两两交换链表中的节点

一碗菜粥的博客 811

基于STM32的智能快递柜设计(全部资料)

本文设计了一种基于STM32F407ZGT6的智能快递柜系统,通过模块化硬件设计和软件算法优化,实现了24小时无人值守、温湿度智能调控、远程监控等功能。系统集成OLED显示、GSM通信、舵机控制、超声波检测等模块,存取响应时间≤3秒,识别准确率达99.2%,较传统模式效率提升60%。测试表明系统运行稳定,用户满意度达92%,具有成本低、安全性高、可扩展性强等特点,为智慧物流末端配送提供了创新解决方案。未来可引入AI算法、太阳能供电等功能进一步优化系统性能。

3254968421的博客 585

#力扣 LeetCode剑指 Offer 57 - II. 和为s的连续正数序列 #在所有Java提交中击败了100%的用户

题目描述: 剑指 Offer 57 - II. 和为s的连续正数序列 - 力扣(LeetCode) (leetcode-cn.com) Java代码: import java.util.LinkedList; import java.util.List; class Solution { //序列内的数字由小到大排列,不同序列按照首个数字从小到大排列 public int[][] findContinuousSequence(int target) { //1 <= targe.

LiuXingchang的博客 332

风-车-桥耦合随机振动预测框架:从物理模型到高效代理

本文提出了一种风-车-桥耦合随机振动预测的混合框架,结合物理模型与代理模型实现高效计算。该框架的核心数学本质是时变参数-随机激励-高维动力系统,主要解决三大计算难点:自由度规模悬殊、时变特性和随机性传播。系统采用分层解耦-代理加速的技术路线,底层基于物理模型建立车辆运动方程和桥梁运动方程,上层通过深度学习代理实现随机激励到响应的端到端映射。文中详细介绍了随机激励建模(包括脉动风速和路面不平度)、子系统建模、耦合求解方法,并提供了可运行的Python代码实现。该框架可显著提高风-车-桥系统随机振动分析的效率,

huanghm88的专栏 102

一文学会python基础知识

1. python 运行环境 1.1 脚本式环境 1.2 交互式环境 2. python 注释 3. 变量及变量命名 4. 关键词 BIFS 5. 标准操作符 6. 条件判断 7. 循环 8. python 数据类型 9. python 序列 9.1 序列-字符串(str) 9.2 序列-列表 9.3 序列-元组 10. 字典 11. 集合 12. python内存管理及可变、不可变对象 13. 函数 13.1 函数参数 13.2 return and yiled(生成器) 13.3 参数传递处理 ...

weixin_43178406的博客 26万+

剑指 Offer 24. 反转链表 - 力扣(LeetCode)

剑指 Offer 24. 反转链表 - 力扣(LeetCode)

Onwaier的博客 534

太阳敏感器:卫星姿态控制的“指南针

在卫星姿态控制系统中,太阳敏感器(Sun Sensor) 是至关重要的光学姿态敏感器之一。它通过探测太阳光的方向,为卫星提供关键的姿态参考信息,确保卫星能够正确调整自身方位,维持稳定的对日定向,保障能源供应和任务执行。

ScilogyHunter的博客 1730

【LeetCode】剑指 Offer(27)

剑指 Offer 53 - I. 在排序数组中查找数字 I

Locky136的博客 1492

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

剑指offer力扣题集

剑指offer

艺术的博客 943

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【C++】leetcode力扣 剑指 Offer 题解

文章预览:剑指 Offer 03. 数组中重复的数字剑指 Offer 04. 二维数组中的查找剑指 Offer 05. 替换空格剑指 Offer 06. 从尾到头打印链表剑指 Offer 07. 重建二叉树剑指 Offer 09. 用两个栈实现队列剑指 Offer 10- I. 斐波那契数列剑指 Offer 10- II. 青蛙跳台阶问题剑指 Offer 11. 旋转数组的最小数字剑指 Offer 12. 矩阵中的路径剑指 Offer 13. 机器人的运动范围剑指 Offer 14- I. 剪绳子剑指 Of

qq_43050258的博客 2056

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

力扣刷题记录(一)剑指Offer(第二版)

本系列记录力扣刷题过程,本文是第一次,剑指Offer(第二版)的记录。 我并没有按照题目的顺序刷,而是按照题的类型刷的,比如从链表开始做,接下来是数组,排序等等。

AnChenliang_1002的博客 1227

剑指 Offer 44. 数字序列中某一位的数字 - 力扣(LeetCode)

剑指 Offer 44. 数字序列中某一位的数字 - 力扣(LeetCode)

Onwaier的博客 542

剑指 Offer 28. 对称的二叉树 - 力扣(LeetCode)

剑指 Offer 28. 对称的二叉树 - 力扣(LeetCode)

Onwaier的博客 461

刷穿力扣005-剑指offer<一>数组——01数组中重复的数字

上次很多同学反馈,说是在leetcode找不到剑指offer的题集了,起初感觉不相信,我上去看了一下,还真是,力扣把剑指offer哪个集合好像给删了找不到了,但是如果去牛客网刷的话必须要购买他们的版权书才能继续做题,不然连题都看不到。但是好消息是力扣只是删除了剑指offer的集合,里面的75道题并没有删除,力扣依旧可以找到,只是很多同学不知道哪些题才是剑指offer的题,你别找了,直接来跟着我刷吧,老规矩还是每天一道,坚持下去相信有些大学生粉丝暑假还是能找到一份不错的实习的。

——心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,谦虚,自律,反思,成长,还算是比较正能量的博主,公益免费传播……内心特别想在AI界做出一些可以推进历史进程影响力的东西(兴趣使然,有点小情怀,也有点使命感呀)… 507

力扣-剑指 Offer 20. 表示数值的字符串

力扣-剑指 Offer 20. 表示数值的字符串

qianxunsiyue的博客 1554

【亲测免费】 力扣剑指Offer资源下载

力扣剑指Offer资源下载 去发现同类优质开源项目:https://gitcode.com/ 资源介绍 本仓库提供了一个名为“力扣剑指offer.pdf”的资源文件下载。该文件是关于力扣(LeetCode)剑指Offer题目的详细解析和解答,适合正在准备面试或提升算法能力的开发者使用。 资源内容 文件名: 力扣剑指offer.pdf 文件类型: PDF 文件大小: [文件大小] 文件描述: 该P...

gitblog_06673的博客 399

剑指offer-leetcode题目对应

剑指Offer题集(力扣)-优快云博客

发狂的小花的博客 1070

剑指 Offer 27. 二叉树的镜像 - 力扣(LeetCode)

剑指 Offer 27. 二叉树的镜像 - 力扣(LeetCode)

Onwaier的博客 571

剑指 Offer 57. 和为s的两个数字 - 力扣(LeetCode)

剑指 Offer 57. 和为s的两个数字 - 力扣(LeetCode)

Onwaier的博客 616
上一篇: 涨姿势!switch用法竟然如此诡异~
下一篇: 机房预约系统
晓龙coding
博客等级 码龄7年 211粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值