算法
冻冰粉星
梧高凤至,花香蝶来。
展开
-
归并排序中的小和问题
归并排序,小和问题原创 2022-07-12 22:38:48 · 220 阅读 · 0 评论 -
简单的归并排序算法
归并排序原创 2022-07-09 11:47:06 · 337 阅读 · 0 评论 -
异或运算及相关面试题
异或定理 异或:相同为0,不同为1.也就是无进位相加。 0 ^ N = N N ^ N = 0 (a ^ b) ^ c = a ^ (b ^ c) 相关面试题 1.如何不用额外变量交换两个数 2.一个数组中有一种数出现了奇数次,其他数都出现了偶数次,怎么找到并打印这种数 3.怎么把一个int类型的数,提取出来最右侧的1 结果:a & (-a) ,也就是 a & (~a + 1),因为 -a = ~a + 1. 4.一个数组中,有两种数出现了奇数次,其他数都出现了偶数次原创 2021-07-28 17:57:23 · 167 阅读 · 0 评论 -
排序算法(插入、冒泡、选择排序)
插入排序 对整数数组 int[] arr 进行插入排序 0~0位置有序 0~1位置有序:盯住1位置往前看,前面数大,则交换,继续往前看… 0~2位置有序:盯住2位置往前看,前面数大,则交换,继续往前看… … 0~n-1位置有序:盯住n-1位置往前看,前面数大,则交换,继续往前看… public static int[] insertSorted(int[] arr){ //元素少于2个就不用排序了 if(arr == null || arr.length <原创 2021-07-28 17:09:43 · 140 阅读 · 0 评论 -
复杂度、对数器、二分法
复杂度 包括固定时间的操作和非固定时间的操作,也就是时间复杂度、额外空间复杂度、常数项时间。 固定时间的操作 常数操作 数组寻址(连续的) 非固定时间的操作 LinkedList的寻址(不连续的) 评估算法优略的核心指标 时间复杂度(流程决定)‘ 额外空间复杂度(流程决定) 常数项时间(实现细节决定) - 常见的算数运算(+、-、*、/、%等) - 常见的位运算(>>、>>>、<<、|、&、^等) - 赋值、比较、自增、自减操作等 - 数原创 2021-07-28 16:41:16 · 74 阅读 · 0 评论 -
算法学习开始篇
记录一下算法学习的过程 包括力扣或者网上找到的面试题等资源 基本公共类 CommonUtils.java package com.mmm.algorithm.algorithm.common; /** * @author mmm */ public class CommonUtils { /** * 打印数组 * @param arr */ public static void printArray(int[] arr){ for (原创 2021-07-28 16:18:28 · 69 阅读 · 0 评论