LeetCode | 刷题笔记 | 解题思路
发布日期:2021-07-25 15:44:22 浏览次数:12 分类:技术文章

本文共 900 字,大约阅读时间需要 3 分钟。

题的类别

刷题:写代码前需要明确的点:

  • 题目具体表达的含义:
  • 序列是有序的?大小写敏感?数据规模?(考虑时间复杂度)
  • 边界条件:空串属于处理范围?
  • 索引是从0还是1开始的?
  • 如果有多解,考虑输出顺序?任意输出一个解?
    如果无解,返回0?
  • 合理运用断言assert

剑指 offer

03 数组中重复的数字

  • 建立一个bool类型的数组,下标即为要判断的数字。
  • 不存在为false,存在一次为true;重复的话,判断其值是否为true;

04 二维数组中的查找

  • 初始化vector<vector<int> > nums二维数组(n*m大小)。
  • 随时判断访问数组nums[i][j]是否会越界i<n && j<m
  • 判断二维数组(若是[][[]])是否为空。
  • vector容器判空:
    如果当前vector没有容纳任何元素,则empty()函数返回true,否则返回false

05 替换空格

  • 读取一行写入字符串strgetline(cin, str);

06 从尾到头打印链表

🌟指针为空时的判断:

if(!ptr){}

10-I 斐波那契数列

  • 使用数组存储备用数据。

15 一个数的二进制中1的个数

  • 使用&1操作
  • 然后二进制右移一位操作
#include
using namespace std;class Solution {
public: int hammingWeight(uint32_t n) {
int ans = 0; while(n!=0){
ans += n&1; n >>= 1; } return ans; }};int main(){
int n = 9; int ans = Solution().hammingWeight(n); cout << ans; return 0;}

检查链表中是否有环

  • 借助数组,把访问过的结点添加进数组,当访问到一个新结点时,判断数组中是否存在该结点,存在就说明有环。

转载地址:https://blog.csdn.net/qq_34170700/article/details/104372034 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:《SQL必知必会》| 第22课 高级SQL特性 学习笔记
下一篇:《SQL必知必会》| 第21课 使用游标 学习笔记

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月10日 10时31分56秒