文章目录

  • 202109-1数组推导
  • 202104-1灰度直方图
  • 202109-2非零段划分
    • HashMap和TreeMap
    • 思路
    • Map遍历
      • 方法一:
      • 方法二:
      • 方法三:
      • 方法四:
    • 今日推歌

202109-1数组推导

//100分
import java.util.Scanner;
public class Main {public static void main(String [] args){Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int []arr = new int[n];for(int i=0;i<arr.length;i++){arr[i] = scanner.nextInt();}int min = arr[0],max = arr[0];for(int i=1;i<arr.length;i++){if (arr[i]>arr[i-1]){min=min+arr[i];}max=max+arr[i];}System.out.println(max+"\n"+min);}
}

202104-1灰度直方图

//100分
public class Main {public static void main(String [] args){run();}public static void run(){//输入Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int m = scanner.nextInt();int l = scanner.nextInt();int[] h = new int[l];int[] ele = new int[n*m];for(int i=0;i<n*m;i++){ele[i]=scanner.nextInt();}//计算for(int i=0;i<h.length;i++){int z=0;for(int j=0;j<ele.length;j++){if (i==ele[j]){z++;}}h[i]=z;}//输出for(int i=0;i<h.length;i++){if (i==h.length-1){System.out.print(h[i]);}else {System.out.print(h[i]+" ");}}}
}

System.out.print()输出不自动换行;System.out.println()会自动换行

栗子:每输出5个数据换一行

//其实就是加一个计数器
int a=1;for(int i=0;i<20;i++){System.out.print(i+" ");if(a%5==0){System.out.println();}a++;}

202109-2非零段划分

HashMap和TreeMap

  • HashMap:基于哈希表实现,继承AbstractMap。适用于在Map中插入、删除和定位元素。
  • Treemap:基于红黑树实现,继承自SortedMap。适用于按自然顺序或自定义顺序遍历键(key)。
  • HashMap通常比TreeMap快一点(树和哈希表的数据结构使然),建议多使用HashMap,在需要排序的Map时候才用TreeMap。

思路

  1. 写一个计算某数组arr[i]中非零段的个数的函数notZero();

  2. 在Map中存储数组中每一种非零的值以及其对应在数组中的下标位置(list表示);

    (此时为了方便后面的操作,在数组两端各加一个0,这样并不会影响结果)

  3. 从小到大遍历数组中每一种非零的值(由于不需要输出key值,此处使用values遍历),并将其在每个位置都置零,再计算当前数组的非零段个数。

  4. 非零段数的改变:改变某位置的元素为0,若它的前一个元素和后一个元素都非零,则非零段数在原基础上加一;若它的前一个元素和后一个元素都为零,则非零段数在原基础上减一;其余情况的非零段数不改变。

  5. 使用Math.max()找到最大非零段数,输出即可。

//100分
public class Main {public static void main(String [] args){Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int[] arr = new int[n+2];arr[0]=arr[n+1]=0;Map<Integer, ArrayList<Integer>> map = new TreeMap<>();for(int i=1;i<= n;i++){arr[i]= scanner.nextInt();if (arr[i]!=0){if (map.containsKey(arr[i])){map.get(arr[i]).add(i);}else {ArrayList<Integer> list = new ArrayList<>();list.add(i);map.put(arr[i],list);}}}int count = notZero(arr);int max = count;Collection<ArrayList<Integer>> lists = map.values();for (ArrayList<Integer> list:lists){for (int i:list){arr[i]=0;if(arr[i-1] != 0 && arr[i+1] != 0){count++;}else if (arr[i-1] == 0 && arr[i+1] == 0){count--;}}max = Math.max(max,count);}System.out.println(max);}/*** 计算非零段个数* @param arr* @return*/public static int notZero(int[] arr){int nums = 0;for(int i=0;i<arr.length;i++){if (arr[i]!=0){nums++;for (int j=i+1;j<arr.length;j++){i=j;if(arr[j]!=0){continue;}else {break;}}}}return nums;}
}

Map遍历

方法一:

通过forEach接口

Integer value=null;
myMap.forEach((k,v)->
{value=v;
});

方法二:

通过keySet遍历(先得到key的值,再通过key值得到value值)

String key = null;
Integer value = null;
Iterator iter = myMap.keySet().iterator();
while (iter.hasNext()) {key = (String)iter.next();value = (Integer)myMap.get(key);
}

方法三:

通过entrySet遍历(通过Map.entrySet使用迭代器iterator遍历key和value)

Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它表示Map中的一个实体(一个key-value对)

String key = null;
Integer value = null;
Iterator iter = myMap.entrySet().iterator();
while(iter.hasNext()) {Map.Entry entry = (Map.Entry)iter.next();key = (String)entry.getKey();value = (Integer)entry.getValue();
}

方法四:

通过values遍历(通过Map.values()遍历所有的value,但不能遍历key)

//使用迭代器
Integer value = null;
Collection c = myMap.values();
Iterator iter= c.iterator();
while (iter.hasNext()) {value = (Integer)iter.next();
}
//不适用迭代器
Collection c = myMap.values();
for (String v : c) {System.out.println("value= " + v);}

今日推歌

----《我爱你不问归期》

是想念如你温柔过境
才发现原来花开都有声音
只要你在我生命途径
再不怕时光匆匆如旅
是幸福在我耳际低语
才忘了寒风不曾停下足迹
直到我走遍半生四季
才懂得风景都不及你

CCF CSP认证JAVA(一)相关推荐

  1. CCF CSP认证考试在线评测系统

    关于CCF CSP认证考试在线评测系统 CCF CSP认证考试简介 CCF是中国计算机学会的简称.CCF计算机软件能力认证(简称CCF CSP认证考试)是CCF于2014年推出,是CCF计算机职业资格 ...

  2. CCF —— CSP认证

    1.认证知识要求: 考试内容主要覆盖大学计算机专业所学习的程序设计.数据结构以及算法,以及相关的数学基础知识.包括但不限于: (1)程序设计基础 逻辑与数学运算,分支循环,过程调用(递归),字符串操作 ...

  3. 以CCF CSP认证为抓手,积极探索软件基础能力递进式培养体系

    原文链接:以CCF CSP认证为抓手,积极探索软件基础能力递进式培养体系 发布单位:学会      发布时间:2017-01-20 16:16 作者:陆建峰    余立功 摘要:为提升计算机专业类学生 ...

  4. 参加CCF CSP认证者须知

    发布单位:中国计算机学会      发布时间:2014-11-11 15:06    凡有意参加CCF CSP认证者,请在cspro.org网站上注册.报名.缴费.打印准考证,参加认证后可以在网站查询 ...

  5. 计算机考csp200分啥水平,计算机与信息工程学院成功举办第20次CCF CSP认证考试

    2020年9月13日,计算机与信息工程学院在计算机大楼201举办第二十次CCF CSP认证考试.这是计算机与信息工程学院2019年12月与中国计算机学会签署协议.河南大学正式成为CSP认证考点以来,举 ...

  6. 北航ccf计算机软件能证排名前18%,CCF成功举办第十一次CCF CSP认证

    第十一次CCF CSP计算机软件能力认证(CSP)于2017年9月17日在全国66所院校举办,这是2017年度CCF举办的第二次认证,来自全国200多个单位的6591人参加了本次认证.通过对本次CSP ...

  7. python认证考试_Python入门习题(39)——CCF CSP认证考试真题:公共钥匙盒

    CCF CSP认证考试真题:共钥匙盒 问题描述 试题编号:201709-2 试题名称:公共钥匙盒 时间限制:1.0s 内存限制:256.0MB 问题描述 有一个学校的老师共用N个教室,按照规定,所有的 ...

  8. CCF CSP认证菜鸟刷题日志

    CCF CSP菜鸟刷题日志(c/c++) 本萌新写给自己看的,要是有大佬路过,请多多指教orz 立个flag:每日一更,至201903 9月15ccf csp,冲鸭! 今天(2019.8.18)起每天 ...

  9. ccf csp认证考试的历年题集汇总

    1.CCF历年试题解答_按题序 2.CCF认证考试题解目录 3.CCF CSP入坑指南 4.ccf 认证历年试题解答 5.CCF认证历年真题 _无题意 6.CCF-CSP认证备考要点 6.CCF认证历 ...

  10. 第十四次CCF CSP认证心得

    个人博客链接:https://www.lhbat.com 在这里强烈的鄙视了一下自己~~~~简直有些坐井观天,写的啥也不是,但想一想,或许还是能给刚入门的同学(像我一样的小小白)或还没有参加过CSP认 ...

最新文章

  1. 721合约 erc eth_深入了解「智能合约」及主流平台「智能合约」的查询方法
  2. linux shell的配置文件信息
  3. html 视频兼容苹果,video苹果兼容flash播放
  4. php面向对象面试题
  5. Confluence 6 配置服务器基础地址示例
  6. ps、top 、free查看用户资源信息
  7. CF1479C Continuous City
  8. iOS 原生导航栏 修改导航栏文字颜色 大小
  9. SQL检索MongoDB的轻量级解决方案
  10. 怎样区分现代艺术和幼儿涂鸦
  11. Python::OS 模块简介
  12. 小球运动及碰撞3D仿真模型
  13. [WARNING]: Could not match supplied host pattern, ignoring: servers
  14. oracle访问emp表,通过deptno查询Emp表中雇员信息(oracle)
  15. linux中文输入配置sougou输入法
  16. QuantumultX 初学者傻瓜教程
  17. CSDN Markdown 公式编号
  18. 百思不得姐框架(二)
  19. Linux中阶—域名解析服务DNS(十)
  20. 7-1 换硬币(20 分)

热门文章

  1. MySQL高级学习(一) (吾爱破解)
  2. 博饼游戏c语言,2015中秋博饼游戏规则
  3. dsp 28377 +RX-8025T 实现RTC功能
  4. 我的第一个开源项目Zplayer(模仿酷狗)
  5. mysql 事务 库存_库存事务处理临时表
  6. 哈工大计算机系统大作业 程序人生-Hello’s P2P
  7. 常见B端产品经理面试问题及答案(一)
  8. HTML5七夕情人节表白网页制作【一起跨年表白代码】HTML+CSS+JavaScript
  9. (动态示例)制作chm离线手册文件-w3school为例
  10. 百度AI开放平台- API实战调用