摘要: 题目: 用两个栈,实现一个队列 包括功能:添加队列、删除元素、队列长度 思路: 什么是队列 队列是先进先出。 简单的可以用数组、链表实现 复杂的队列服务,需要单独设计 栈我们用数组来实现 队列的添加 add 往 stack1 中push 元素 队列删除 将stack1 中的所有元素pop出来,pus 阅读全文
posted @ 2025-02-23 20:30 yangkangkang 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题目: 一个字符串可能包含{}()[]三种括号,判断该字符串是否括号匹配。如:(a{b}c)匹配的 ;{a(b 和 {a(b)c) 不匹配 思路: 该题考查的是--栈 栈是一种逻辑结构,一种理论模型。可以脱离编程语言单独讲 栈是先进后出。可以用数组、链表来表达,也可自定义calss Stack{} 阅读全文
posted @ 2025-02-23 17:08 yangkangkang 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题目:将一个数组旋转 k步。如输入一个数组[1,2,3,4,5,6,7] 和 k = 3, 即旋转 3步。输出 [5,6,7,1,2,3,4] 解题思路: 思路1: 把k 后面的元素,挨个pop,然后unshif 到数组前面 思路2: 将 k 后面的所有数据拿出来作为 part1 将 k前面的所有数 阅读全文
posted @ 2025-02-23 16:40 yangkangkang 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 时间复杂度 定义:指执行这个算法所需要的计算工作量(CPU) 常见的复杂度有: O(1) 常数型 -- 无循环 O(log n) 对数型 -- 二分法 O(n) 线性型 -- 单次循环 O(nlogn) 线性对数型 -- 单次循环 + 二分法 O(n^2) 平方型 -- 嵌套循环 O(n^3) 立方 阅读全文
posted @ 2025-02-23 10:16 yangkangkang 阅读(6) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示