Java 学习笔记 判断一个数组是否有序
思路
升序:每次比较数组中的两个数的时候,最大的数一定是前一个
降序: 每次比较数组中的两个数的时候,最小的数一定是前一个
Flag1和flag2都是假的时候,返回flase,否则,返回flase
代码
public static boolean isSorted(int[] data) {
boolean flag1 = false,flag2 = false;
//数组是否为升序
for (int i = 0; i < data.length-1; i++) {
if (data[i] == Math.min(data[i], data[i + 1])) {
flag1 = true;
} else {
flag1 = false;
break;
}
}
//数组是否为降序
for (int i = 0; i < data.length - 1; i++) {
if (data[i] == Math.max(data[i], data[i + 1])) {
flag2 = true;
} else {
flag2 = false;
break;
}
}
if (flag1 || flag2) {
return true;//有一个为真,即是已经排过序了
} else {
return false;
}
}
Java 学习笔记 判断一个数组是否有序的更多相关文章
- java学习笔记—实现一个类MyInputStream(28)
1 实现一个类MyInputStream读取文件,且不能抛出异常 public class TestDemo { public static void main(String[] args) thro ...
- java学习笔记(基础篇)—数组模拟实现栈
栈的概念 先进后出策略(LIFO) 是一种基本数据结构 栈的分类有两种:1.静态栈(数组实现) 2.动态栈(链表实现) 栈的模型图如下: 需求分析 在编写代码之前,我习惯先对要实现的程序进行需求分析, ...
- Java学习笔记——实现一个简易记事本Notepad的编写
记事本功能介绍 1. 新建:记事本清空. 2. 打开:可打开笔记本上任意文本文件. 3. 保存:将文件保存至当前文件夹. 4. 另存为:将文件保存至任意位置. 5. 退出:退出时确 ...
- Java学习笔记3(数组)
1.数组的定义: 第一种: public class ArrayDemo{ public static void main(String[] args){ //定义数组 int [] arr = ne ...
- Java学习笔记51:数组转ArrayList和ArrayList转数组技巧
ArrayList转数组: public class Test { public static void main(String[] args) { List<String> list = ...
- Java学习笔记——判断字符Character类
常用方法 下面所说的均是静态方法,也就是可以不创建对象直接调用 例:Character.isLetter(char c); isLetter 判断参数是否为字母(不分大小写),返回结果 isDigit ...
- Java 学习笔记 二维数组和对象数组
定义二维数组 int[][] a = new int[4][5]; 可以不指定列数 int[][] a = new int[4][]; 获取行 int i = a.length(); 如果使用第一个例 ...
- java学习笔记04--数组
java学习笔记04--数组 数组复制的方法是使用System类提供的arraycopy()方法,其语法如下: System.arraycopy(Object src, int srcPos, Obj ...
- Java学习笔记之---方法和数组
Java学习笔记之---方法与数组 (一)方法 (1)什么是方法? 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 (2)方法的优点 使程序变得更简短而 ...
随机推荐
- ansible 关闭ssh首次连接时提示
关闭ssh首次连接时提示. 修改/etc/ansible/ansible.cfg配置文件 方法一:(推荐,配置文件中存在) host_key_checking = False 方法二: ssh_arg ...
- Nuget4.0 bug一粒
这个锅到底是nuget的还是msbuild的我也不是很确定 在使用Nuget4.0打包编译项目时 当执行到nuget pack %%~dpna.csproj -build -Prop Configur ...
- Oneinstack 环境安装 Flarum 轻量级论坛程序
之前做了个论坛,使用的是discuz框架,虽然这个框架已经很成熟,功能也相对较多,但毕竟老框架了,今天尝试用Flarum来搭建一个论坛,Flarum相对来说美观而且速度快 系统环境使用oneinsta ...
- Python学习笔记【第三篇】:if判断、while循环、for循环
如果某些条件满足,才能做某件事情,而不满足时不允许做,这就是所谓的判断 不仅生活中有,在软件开发中“判断”功能也经常会用到 if判断语句 if 要判断的条件: 条件成立 num = 50 if num ...
- navicat连接mysql报错1251的解决方法
1.新安装的mysql8,使用破解版的navicat连接的时候一直报错,如图所示: 2.网上查找原因发现是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql ...
- ALSA概述--高级linux声音驱动基本介绍和应用
基本介绍: ALSA是Advanced Linux Sound Architecture,高级Linux声音架构的简称,它在Linux操作系统上提供了音频和MIDI(Musical Instrumen ...
- Python安装模块的几种方法
一.方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二.方法2: 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行:python setup.py i ...
- openjtag 的硬件连接踩坑历程
这个事情踩了不少坑,这个要记录一下: 1 代码的下载和编译按照下面的来:https://github.com/pulp-platform/pulp-debug-bridge 注意点: A 要最好使用p ...
- Microsoft 机器学习产品体系对比和介绍
Microsoft 提供多种多样的产品选项用于生成.部署和管理机器学习模型. 本文将比较这些产品,并帮助你选择所需的产品,以便最有效地开发机器学习解决方案. 机器学习产品 描述 作用 Azure云端服 ...
- Linux编程 19 编辑器(vim 用法)
一.概述 在开启shell脚本编程之前,必须要知道一款文本编辑器的用法,如文本编辑的查找,剪切,粘贴,定位等, 本篇只讲vim编辑器.vim编辑器全名叫vi improved,是经过对Unix系统vi ...