算法刷题技巧

server/2024/10/15 19:09:17/

算法题:https://leetcode.cn/studyplan/top-100-liked/

  1. 哈希表
    • 使用哈希表,增删改查的时间复杂度均为O(1)。
    • 何时使用哈希表?
      • 在某个区域内查找一个已知元素,可以使用哈希表作为这个区域
      • 根据一个特征对元素进行分类,特征就是key,元素就是value
      • 哈希表可以去重,只需要把每个元素放入哈希表就可以了
    • 使用基础类型和不可变类型(string)作为哈希表的key,不要用数组和其它变量
  2. 时间复杂度
    • 两层for循环不一定就是 O ( n 2 ) O(n^2) O(n2),要看实际执行次数
  3. 双指针
    • 双指针可能都从头开始,也可能一头一尾
    • 在一个区域内找出特定的两个元素,需要这两个元素组合操作时,例如交换元素(快排)
    • 这种多指针的问题都可以使用多层for循环很轻易地解决,但时间复杂度高,多指针可以降低时间复杂度
  4. 什么时候需要排序?
    • 需要对数据进行某些基于顺序的操作(如查找、合并、计算前缀和等)
    • 排序后可以使用一些技巧(例如双指针)可以降低时间复杂度

http://www.ppmy.cn/server/132329.html

相关文章

腾讯图标点选模型识别

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 如有侵犯,请联系作者下架 该文章模型已经上线ocr识别网站,欢迎测试!!,地址:https://yxl…

‌如何在‌Windows系统中开启和关闭预览窗格/详细信息预览

Win11升级后,会自动在右侧预览文件,很是影响操作。今天,就一起来了解如何打开和关闭的吧! 预览窗格 详细信息窗格 解决办法 打开“此电脑”,选择“查看”,关闭“预览窗格”和“详细信息窗格”。

giugughk

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

WPF 自定义用户控件(Content根据加减按钮改变值)

前端代码&#xff1a; <UserControl.Resources><Style x:Key"Num_Button_Style" TargetType"Button"><Setter Property"MinWidth" Value"30" /><Setter Property"Height" Value"35" />&l…

2024.10.14 软考学习笔记

刷题网站&#xff1a; 软考中级软件设计师在线试题、软考解析及答案-51CTO题库-软考在线做题备考工具

Sql语句解析工具类

需求&#xff1a; 项目 web-sql模块&#xff0c;需要根据 sql 解析获取数据库表&#xff0c;然后对&#xff08;金库&#xff09;表权限进行校验。 金库表&#xff1a;用户查询该表前需要审批。 一、Druid (推荐) 添加依赖&#xff1a; <dependency><groupId>com…

python实现了通过摄像头检测手部动作,根据手指数量的不同映射为特定的视频控制操作

import cv2# 导入OpenCV库,用于图像处理 import mediapipe as mp# 导入MediaPipe库,用于手部检测等 from selenium import webdriver# 导入selenium库 from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from selenium.webdrive…

AXI4协议数据带宽计算

AXI4 协议数据带宽的计算需要考虑总线频率、数据宽度以及传输特性等因素。其计算公式为&#xff1a;最大传输带宽 总线频率 数据宽度 2&#xff08;单位为 bps&#xff09;1。以下是对该公式的详细解释&#xff1a; 总线频率&#xff1a; 总线频率是指 AXI 总线工作的时钟频…