- 博客(7)
- 收藏
- 关注
原创 算法题:找出一个数组中出现了奇数次的数
描述 :有一个数组 里面有两种数:其中一个数出现了奇数次,其他数都出现了偶数次,要如何找到这个出现了偶数次的数? 用异或运算 比如 两个相同的数异或结果为0 0^A=A 偶数次的数异或之后的结果为0 再与这个奇数次的数异或所得结果为所求数 public class Find { //一个数组中有一种数出现了奇数次 其他数都出现了偶数次 你要怎么找出这个数? public static void main(String[] args) { int[] arr =new in
2021-03-07 19:17:41 601
原创 冒泡排序
冒泡排序很简单 比如一个数组 我们让第1 2 号位置进行比较 谁大谁放在右边 然后让2 3 位置比较 谁大谁放在右边 import java.util.Arrays; public class Bubble { public static void bubble(int[] arr){ if(arr ==null ||arr.length<2){ return ; } for(int e = arr.length -1;
2021-03-07 17:07:42 79
原创 选择排序的java实现
选择排序的思路 选择最大的 (或最小的那个数放在数组的起始位置) 再把剩下的数拿出来重复这个过程 代码实现 public static void selection(int[] arr){ if(arr ==null || arr.length<2){ return;//为空或者为1 没必要排序了 } for(int i=0;i<arr.length -1;i++){ int minIndex =i; for(int j=i
2021-03-07 16:51:41 81
原创 如何不用额外变量交换两个整数的值
异或运算 异或是一个数学运算符 它应用于逻辑运算 数学符号为" ⊕ " 程序符号为" ^ " 如果a b 两个值不相同 则异或结果为1 如果a b 两个值相同 异或结果为0 如何不用额外变量交换两个整数的值? 思路 :多次异或 比如a =4 =100 b=3 =011 异或结果就是000 再次进行异或 000与011异或 结果为4 a = a^b; b = a^b; a = a^b; ...
2021-03-07 10:52:56 119
原创 并发编程三大特性
原子性 指事务的不可分割性,一个事务的所有操作要么不间断地全部被执行,要么一个也没有执行。 i++是原子操作吗 不是! 可见性 可见性是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。 两个概念 :总线lock MESI 有空去了解一下 有序性 即程序执行的顺序按照代码的先后顺序执行。 ...
2021-03-04 22:10:14 112 1
原创 i++是原子性的吗
i++是原子性的吗 i++可以分成4步 1 将i从主存读到工作内存中的副本中 2 +1的运算 3 将结果写入工作内存 4 将工作内存的值刷回主存(什么时候刷入由操作系统决定,不确定的)
2021-03-04 21:34:34 266 1
原创 对MVC的理解
谈谈对MVC的理解 M 是model 模型 V 是 view 视图 C 是Controller 控制器 谈谈理解 模型 表示应用程序核心 模型用于对数据库的操作 如增删改查的操作 视图 显示数据 (数据库记录) 视图就是显示给用户看的页面 控制器 处理输入 (写入数据库记录 ) 控制器就是控制逻辑处理的页面 一般用于调用模型层执行逻辑处理或者组织数据 之后显示到视图层 流程就是 控制层调用模型 组织数据给视图 控制器通过模型获取数据 然后根据需要整理 最后传达给视图展示 使用MVC的目的是将
2021-03-04 20:36:32 186 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人