2021-07-23 有趣的位运算 学习算法 算法 两数交换 —— 位运算实现注意:两个数一定不能指向同一内存空间,不然结果都会变成0! 1234int a,b;a = a^b;b = a^b;a = a^b; 二进制异或运算 0^1 , 0^0 , 1^1 。相同为 0 ,不同为 1 。
2021-06-27 回溯算法实战系列之全排列问题 回溯算法算法 算法 题目实例Ⅰ784. 字母大小写全排列 给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。 示例 1: 输入:S = “a1b2” 输出:[“a1b2”, “a1B2”, “A
2021-06-20 快速排序 排序算法 算法 快速排序算法由 C. A. R. Hoare 在 1960 年提出。它的时间复杂度也是 O(nlogn),但它在时间复杂度为O(nlogn)级的几种排序算法中,大多数情况下效率更高,所以快速排序的应用非常广泛。再加上快速排序所采用的分治思想
2021-06-19 桶排序入门 排序算法 算法 原理桶排序是一个排序算法,原理是将数组分到有限数量的桶里。每个桶再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。 桶排序以下列程序进行: 设置一个定量的数组当作空桶子。 寻访序列,并且把项目一个一个放到对应的桶
2021-06-19 922. 按奇偶排序数组II 刷题算法 算法 给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。 对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。 你可以返回任何满足上述条件的数组作为答案。
2021-06-19 冒泡排序 排序算法 算法 “冒泡排序法除了它迷人的名字和导致了某些有趣的理论问题这一事实外,似乎没有什么值得推荐的。” ———— Donald E. Knuth(1974 年图灵奖获得者) 1. 基本实现123456789101112131415161718
2021-06-19 选择排序 排序算法 算法 相对于冒泡排序,选择排序多一个变量,专门存储最小值、最大值的下标,等每轮次循环遍历结束后,才会进行两个元素的交换。这样比冒泡排序减少了交换次数。 1. 基本实现123456789101112131415161718192021222324