自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 2021-07-23大家直接看图

<view class="outline anticlockwise up-down-move"> <view class="ticket-type"> 5元优惠券 </view></view>.ticket-type{ height: 60rpx; width: 300rpx; position: relative; top: 70rpx; color: white; left: 10rpx; font-size: 4..

2021-07-23 16:32:37 72

原创 回文判断-2

使用递归的方式对字符串进行回文判断:public static boolean myPalindromic(String str){ if (str == null || str.length() == 0){ return false; } return isPalindromicStr_v2(str,0,str.length()-1);}public static boolean isPalindromicStr_v2(String

2020-10-19 18:13:47 74

原创 回文判断-1

"回文数"是一种数字.如:98789, 这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字就是回文数如果是一个int类型的数可以这样判断:public static boolean isPalindromicInt(int number){ ArrayList list = new ArrayList(); while (number != 0){ list.add(number%10); number =

2020-10-19 17:32:53 159

原创 二分查找-2

v1中使用while循环的方式,我们也可以不使用循环,使用递归的方式来实现public static int binarySearch_v2(int[] array,int value){ int start = 0; int end = array.length - 1; return mySearch(array,start,end,value); }public static int mySearch(int[] array, int st

2020-10-19 10:47:34 59 1

原创 二分查找-1

二分法查找适用于大的数据,前提条件数据必须是有序的,他的原理是先和中间的比较,如果等于就直接返回,如果小于就在前半部分继续使用二分法进行查找,如果大于则在后半部分继续使用二分法进行查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。public static int binarySearch_v1(int[] array,int value){ int start = 0; int end = array.length - 1;

2020-10-19 10:30:53 47

原创 元素唯一性-算法优化

我们给出一个有n个元素的序列array,求该集合中的所有元素受否有相同。public static boolean checkElement_v1(int[] array){ for (int i = 0; i < array.length; i++) { for (int j = i+1; j < array.length; j++) { if (array[i] == array[j]){

2020-10-17 15:49:10 2019

原创 分析中重要的函数

1.常数函数: f(n) = cn的值不重要,f(n)总是为定值c,它描述了在计算机上基本操作的部属,例如两个数相加,给一些变量赋值。2.对数函数: f(n) = y=log(b)N因为计算机存储整数采用二进制,并且很多算法中的常见操作是把一个输入分成两半。3.线性函数: f(n) = n这个函数出现在我们必须对所有n个元素做基本操作的算法分析的任何时间。4. n log n函数: f(n) = n log n对于一个输入值n,这个函数是n倍的以2为底的n的对数,这个函数的增长速度比线性函数快

2020-10-17 14:45:24 120

原创 数据结构-数组

定义一个长度为5的数组,但是数组的大小一旦确定就不可以再改变了:int[] arr = new int[5];也可以直接对他进行初始化:int[] arr = new int[]{1,3,6};源码分析传说中的动态数组ArrayList(),所有数据都会存入它的这个数组中:transient Object[] elementData;默认初始容量为10:private static final int DEFAULT_CAPACITY = 10;ArrayLsit几个常见的方法,第一

2020-10-16 17:40:26 98 2

原创 顺序查找

查找算法中顺序查找算是最简单的了,无论是有序的还是无序的都可以,也不需要排序,只需要一个个对比即可,但是其效率很低。public static boolean shunSearch(int[] array,int key){ if (array.length < 0 || array == null){ return false; } for (int i = 0; i < array.length; i++) {

2020-10-16 16:10:50 136

原创 三集不相交问题

算法分析:我们给出三个无重复元素的序列A,B,C,长度都为n,但是在不同序列中的元素可以重复,三集不相交问题就是确定三个序列的交集是否为空,即是否存在元素x满足x∈A,x∈B,同时x属于Cpublic static boolean noIntersect_v1(int[] arrA,int[] arrB,int[] arrC){ for (int i = 0; i < arrA.length; i++) { //1 for (int j = 0; j &l

2020-10-15 20:59:48 396

原创 前缀平均值

定义:计算数组X里的前缀平均值,表明从数组第一个数开始求和,前n个的和就除以n,依次计算到数组所有元素的和除以总数结束,所得的n个结果就是所有要求的平均值,然后放入一个新的数组。我们想计算出数组A,该数组满足的条件为:当j=0,…,n-1时,A[ j ]是X[ 0 ],…,X[ j ]的平均值。public static void main(String []args) { double[] arr = {4,6,10,8,2}; double[] result = qianZhui(arr.

2020-10-15 18:16:44 380

原创 插入排序

插入排序的原理:​1.从第一个元素开始,该元素可以认为已经被排序​2.取出下一个元素,在已经排序的元素序列中从后向前扫描比较​3.如果已排序的该元素大于新元素,将该元素移到向后一个位置​4.重复步骤3,直到找到已排序的元素小于或者等于新元素的位置​5.将新元素插入到该元素位置后​6.重复步骤2~5public static int[] insertionSort(int[] array){ int current = 0; for(int i = 0; i < array.len

2020-10-14 15:43:11 38

原创 选择排序

选择排序原理:在每一次遍历中,假设第一个下标值的元素为最小值,与后面的元素进行比较,找到小的值将下标值标记下来,找到最小值进行交换,存放在序列的起始位置,依此类推,直到将所有元素排序完毕。外层循环:控制将有多少次选择排序,保证序列的每个值都能够比较到内层循环:进行比较,找到最小值的下标值public static int[] selectionSort(int[] array) { //n= 0到array-1,再+1 for (int i = 0; i < array.le

2020-10-12 15:36:59 45

原创 喝汽水

算法 1.一元钱一瓶汽水????,喝完后两个空瓶子换一瓶汽水,问:你有20元钱,最多可以喝到几瓶,写出算法过程。但是不计算最后借的,可以喝39瓶public static void main(String[] args) { int result = sellBottles(20); System.out.println("结果为:"+result);}public static int sellBottles(int startMoney){ int sum = sta

2020-09-17 22:09:37 146

原创 冒泡排序

冒泡原理:比较两个相邻元素,将值大的换交换到右边。外层循环:控制将最大值交换到右侧的轮数内层循环:控制每一轮外层循环下,相邻元素的比较步骤 /** * 冒泡排序 * @param array * @return */ public static int[] bubbleSort(int[] array){ int t = 0; //算法执行所需要的临时空间O(n) // n = array.length for (int i = 0; i

2019-10-16 18:54:24 142

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除