方法一: 整数值越界后符号改变 int i = 0, max, min; while(1) { if(i + 1 <= 0) { max = i; min = i + 1; break; } i++; } printf("int最大值%d,最小值%d\n", max, min); 方法二: 0(un ...
分类:
其他好文 时间:
2020-07-04 22:32:08
阅读次数:
69
#边界处理 这题也是以前看过没理解,倒过来看理解的。 首先越界可能只有一种,最小数除-1 考虑简单情况,除数为1和-1以及被除数为0的情况,可以直接返回结果 接下来考虑一般情况:先判断商的正负值,然后把两个数都转为负数,因为如果转为正数的话,INT_MIN会溢出。 接下来就是不断翻倍,直到不满足条件 ...
分类:
其他好文 时间:
2020-07-01 12:23:03
阅读次数:
74
异常处理 编程中常见的错误 程序的编译错误——比较好解决,主要是一些语法错误 程序的运行错误——产生因素较为复杂,如空间不够,下标越界,访问非法空间等。 异常是指程序运行时出现的不正常,可分为一下几类: CPU异常;如在计算过程中,出现除数为0的情况。 内存异常,如: 使用new或malloc申请动 ...
分类:
编程语言 时间:
2020-06-29 00:27:03
阅读次数:
107
1.初识异常 异常(Exception):软件程序在运行的过程中可能遇到的问题叫做异常。 JAVA中面对异常提供了方便的处理方式,java的异常机制 本质:程序出现错误后,程序可以安全的退出。 java是采用面向对象的方式来处理异常。处理过程: 1.抛出异常:在执行一个方法时,如果发生异常,则这个方 ...
分类:
编程语言 时间:
2020-06-28 13:39:22
阅读次数:
57
/** * @author wen.jie * @Classname GlobalExceptionHandler * @Description 统一异常处理 * @Date 2020/6/27 */ @Slf4j @RestControllerAdvice public class GlobalE ...
分类:
编程语言 时间:
2020-06-27 21:37:12
阅读次数:
85
这题和第54题类似,都是套一个搜索的模板。 用dx和dy表示方向,方向的顺序是先向右,再向下,再向左,再向上,再向右。。。 如果“撞墙”了就需要改变到下一个方向。“撞墙”的判定就是(newX, newY)越界或者已经被访问过。 “撞墙”就需要改变方向,即更新(newX, newY)。 class S ...
分类:
其他好文 时间:
2020-06-27 09:59:28
阅读次数:
60
顺序查找 监视哨的顺序查找 因为每次循环都需要对是否越界,即是否小于n做判断。事实上,还可以有更好一点的办法,设置一个哨兵,可以解决不需要每次让i与n作比较。 折半查找(二分查找) 二分查找(又称为折半查找)是在有序序列中查找比较多的查找算法,基本思路:设有一个从小到大的序列,取中间的元素m进行比较 ...
分类:
其他好文 时间:
2020-06-27 09:20:15
阅读次数:
58
题意是,输入一个二维数组,从数组左上角开始,沿着顺时针慢慢地“遍历”每一个元素且每一个元素只遍历一次, 在一个新的一维数组中记录遍历的顺序,最终的返回值就是这个数组。 思路:可以考虑用方向来模拟“一个指针的移动”,指针指向的元素如果合法(不越界且未被访问过),就将这个元素压入结果数组。 这里的核心是 ...
分类:
其他好文 时间:
2020-06-26 20:00:14
阅读次数:
50
异常[exception] ArrayIndexOutOfBoundsException 数组越界异常 ClassCastException 类型转换异常 ClassNotFoundException 类找不到异常 NullPointerException 空指针异常 NPE … 1. 了解异常概念 ...
分类:
其他好文 时间:
2020-06-25 19:28:57
阅读次数:
137
与 x&y 或 x|y 非!x 异或 x^y 补码 ~x+1是x的补码 memset(a,0x3f,sizeof(a)) 无穷大 左移 在二进制表示下把数字同时向左移动,低位以0填充,高位越界后舍弃 1<<n=2^n n<<1=2n 算数右移 在二进制补码表示下把数字同时向右移动,高位以符号位填充, ...
分类:
其他好文 时间:
2020-06-24 21:50:58
阅读次数:
54