zoukankan      html  css  js  c++  java
  • 第八天学习

    数据类型转换

    常量优化机制

    byte b1 = 30;
    //编译正确,数字大小没有超过范围
    byte b2 = 128;
    //编译错误,超过最大范围127
    byte b3 = 10 + 20;
    // 编译正确,常量优化机制,会在编译阶段计算常常量大小,常量没有超过byte类型大小,自动转换为byte类型
    byte a = 10;byte b = 20; byte c= a + b;
    //编译错误,a和b是变量,在编译的时候不能计算其大小,所以不能自动转换类型
    

    字符转换为int类型

    • int a = (int) 'a';
    • int a = 'a' + 0;

    二分法查找

    此方法只能查找相同元素位置

    int lo = 0;
    int hi = n.length;
    while (lo <=hi) {
        int mid = (lo + hi)/2;
        if (nums[mid] == target
            return mid;
        if (nums[mid] > target)
            hi = mid - 1;
        if (nums[mid] < target)
            lo = mid + 1;
    }
    return -1;
    

    优化方法:可判断插入有序数组的元素的位置

    		int lo = 0;
    		int hi = nums.length-1;
    		while(lo<hi) {
    			int mid =lo + (hi - lo)/2;
    			if (nums[mid] == target) {
    				return mid;
    			}
    					
    			if (nums[mid] > target)
    				hi = mid;
    			if (nums[mid] < target)
    				lo = mid + 1;
    		}
    		return lo;
    

    递归实现

    	static int erSherch2(int[] nums, int target, int lo, int hi) {
    		/**
    		 * 递归实现二分法查找
    		 * 返回和target相同值的数组下标,没有值返回-1
    		 */
    		if (lo > hi)
    			return -1;
    		int mid = lo + (hi - lo)/2;
    		if (nums[mid] == target)
    			return mid;
    		else if (nums[mid] < target)
    			return erSherch2(nums, target, mid + 1, hi);
    		else
    			return erSherch2(nums, target, lo, mid-1);
    		
    	}
    
  • 相关阅读:
    java堆溢出和栈溢出
    一张图看懂JVM
    java学习书籍
    Linux内核、mysql内核、Tcp/Ip内核、java等知识书籍
    mac 下安装mysql8.0
    软件各种系统架构图
    架构师必看:软件架构图的艺术
    JVM
    docker 镜像整理
    自定义ResultMap查询,这里的关联写法只能用于不分页
  • 原文地址:https://www.cnblogs.com/zhz-8919/p/10651844.html
Copyright © 2011-2022 走看看