![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
学习数据结构与算法
wydxry
红叶经霜而赤,腊梅沐雪而馨!
展开
-
LeetCode 912. 排序数组 【快速排序】
题目给你一个整数数组 nums,请你将该数组升序排列。示例 1:输入:nums = [5,2,3,1]输出:[1,2,3,5]示例 2:输入:nums = [5,1,1,2,0,0]输出:[0,0,1,1,2,5]提示:1 <= nums.length <= 50000-50000 <= nums[i] <= 50000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sort-an-array著作权归领扣原创 2021-08-10 23:23:39 · 284 阅读 · 0 评论 -
785. 快速排序 【快速排序模板】
题目给定你一个长度为 n 的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5题解#include <iostream>using namespace std;const原创 2021-08-10 23:14:44 · 294 阅读 · 0 评论 -
数组模拟环形队列
循环队列使用数组实现队列的顺序存储时会出现假溢出情况,使用循环队列可以解决这一问题。初始时:front=rear;队列头部改变:front=(front+1)%MaxSize;队列尾部改变:rear=(rear+1)%MaxSize;队列长度:(rear+MaxSize-front)%MaxSize;出队入队时:指针都按照同一个方向进1;队满条件:(rear+1)%MaxSize == front;队空条件:front == rear;队列中元素个数:(rear+MaxSize-front原创 2021-06-12 13:43:33 · 67 阅读 · 0 评论 -
模拟队列实现
Java源程序import java.util.Scanner;public class ArrayQueueDemo { public static void main(String[] args) { // 创建一个队列 ArrayQueue queue = new ArrayQueue(3); char key = ' '; //接收用户输入 Scanner scanner = new Scanner(System.in);原创 2021-06-10 23:43:14 · 80 阅读 · 0 评论 -
稀疏数组与二维数组的转换
稀疏数组Java代码public class sparsearray { public static void main(String[] args) { // 创建原始二维数组 11*11 // 0表示没有棋子 1表示黑子 2表示白子 int chessArr1[][] = new int[11][11]; chessArr1[1][2] = 1; chessArr1[2][4] = 2; ches原创 2021-06-10 22:52:49 · 46 阅读 · 0 评论 -
LeetCode 67. 二进制求和【字符串】
题目给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”提示:每个字符串仅由字符 ‘0’ 或 ‘1’ 组成。1 <= a.length, b.length <= 10^4字符串如果不是 “0” ,就都不含前导零。来源:力扣(LeetCode)链接:https://leet原创 2021-05-07 09:47:37 · 61 阅读 · 0 评论 -
LeetCode 35. 搜索插入位置【二分】
题目给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/search-in原创 2021-05-07 09:27:34 · 51 阅读 · 0 评论 -
LeetCode 1845. 座位预约管理系统【优先队列】
题目请你设计一个管理 n 个座位预约的系统,座位编号从 1 到 n 。请你实现 SeatManager 类:SeatManager(int n) 初始化一个 SeatManager 对象,它管理从 1 到 n 编号的 n 个座位。所有座位初始都是可预约的。int reserve() 返回可以预约座位的 最小编号 ,此座位变为不可预约。void unreserve(int seatNumber) 将给定编号 seatNumber 对应的座位变成可以预约。示例 1:输入:[“SeatManage原创 2021-05-06 09:39:55 · 370 阅读 · 0 评论 -
自定义动态数组和单向链表
设计动态数组public class MySingleList { private Node first; // 只记第一个 private int total; // 结点总数 // 设计结点类型 class Node{ Object data; Node next; public Node(Object data, Node next){ super(); this.dat原创 2021-05-05 20:18:55 · 49 阅读 · 0 评论