数据结构与算法
文章平均质量分 74
该专栏存放常见算法概念题目
mojitao
这个作者很懒,什么都没留下…
展开
-
荷兰国旗问题与快速排序
目录荷兰国旗问题题目代码快速排序思想代码实现荷兰国旗问题题目给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、1 和 2 分别表示红色、白色和蓝色。示例 1:输入:nums = [2,0,2,1,1,0]输出:[0,0,1,1,2,2]示例 2:输入:nums = [2,0,1]输出:[0,1,2]示例 3:输入:nums = [0]输出:[0]示例 4:输入:num原创 2021-08-01 00:55:47 · 259 阅读 · 0 评论 -
归并排序与逆序对
目录归并排序数组中的逆序对题目归并排序数组中的逆序对题目在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。输入: [7,5,6,4]输出: 5 int merge(vector<int>& nums, int l, int m, int r) { vector<int> tmp(r - l + 1); int cnt = 0;原创 2021-07-28 01:11:57 · 142 阅读 · 0 评论 -
只出现一次的数字(位运算)
目录位运算常见的位运算按位与按位或按位异或按位取反左移带符号右移十进制和二进制的相互转换位运算在计算机内部,数据大多是以二进制(0,1)的形式存储在设备中位运算就是对二进制数的操作常见的位运算按位与运算规则:两个位均为1时,结果才为1;其他情况为0 1001 & 1010 ——————— 1000按位或运算规则:两个位有一个为1,结果就是1;其他情况为0 1001 | 1010 —————— 1011按位异或运算规则:两个位不相同时,结果原创 2021-07-21 00:22:00 · 2346 阅读 · 0 评论