Java程序设计(2021春)--第一章续笔记与思考 目录 Java程序设计(2021春)--第一章续笔记与思考 Java数据类型 基本数据类型 引用类型 基本数据类型--整数类型的细节 基本数据类型--浮点类型的细节 基本数据类型--字符类型的细节 基本数据类型--布尔类型 基本数据类型转换 Java强制类型转换精度损失与表达式中的数据类型转换 类型在表达式中的自动提升(操作数的类型不一致) 以下是针对以上规则的几个实例 Java数组 Java数组介绍.声明与使用 数组基本性质 数组的一些细节…
Java程序设计(2021春)--第一章课后题(选择题+编程题)答案与详解 目录 Java程序设计(2021春)--第一章课后题(选择题+编程题)答案与详解 第一章选择题 1.1 Java与面向对象程序设计简介 T4 题面 答案 详解 T9 题面 答案 详解 T10 题面 答案 详解 T11 题面 答案 详解 T15 题面 答案 详解 1.2 基本数据类型与表达式 T12 题面 答案 详解 T14 题面 答案 详解 1.3数组 T1 题面 答案 详解 T4 题面 答案 详解 1.4算法的流程控制…
2021.11.04 P1392 取数(多路归并) P1392 取数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 在一个n行m列的数阵中,你须在每一行取一个数(共n个数),并将它们相加得到一个和.对于给定的数阵,请你输出和前k小的数字和(这里是个自个儿造的专属名词). 分析: 1到i-1行的前k个答案一定在与第i行合并后形成新的k个答案,毕竟两个最大的相加永远比不过两个最小的相加. 代码如下: #include<cstdio> #include<algori…
给定一个整型数组,除了一个元素只出现一次外,其余每个元素都出现了三次.求出那个只出现一次的数.注意:你的算法应该具有线性的时间复杂度.你能否不使用额外的内存来实现?详见:https://leetcode.com/problems/single-number-ii/description/ Java实现: 建立一个32位的数组,来统计每一位上1出现的个数,如果某一位上为1的话,那么如果该整数出现了三次,对3去余为0,把每个数的对应位都加起来对3取余,最终剩下来的那个数就是单独的数字. 参考:htt…
前言 为日后的算法面试做准备,自己也很喜欢算法这个东西,每天3~5道题. 刷题 1.leetcode 209 长度最下的子数组 题目 长度最下的子数组 大致的意思是从数组中找到长度最小的数组,并且数组内的和是大于等于给定的数target的 思路 最基本的思路当然是双重遍历,时间复杂度是O(N2),但是本题的数据大小为105,所以这是肯定过不掉的,所以我们需要优化. 我们可以发现的是,对于满足条件的某个区间,区间左右端点分别i与j,其中i表示最接近j的那个数的下标,当j向右移动的时候,i也会向右移…
编编程语言的目的是帮助程序员以代码的形式表述ideas.编程语言一方面为程序员提供一组关于可以做什么的抽象,另一方面为程序员提供可以被机器执行的轮子.C++编程语言,支持4种编程范式:过程式(Procedural Programming,主要集中在过程和合适的数据结构).数据抽象(Data abstraction,主要表现为设计抽象接口隐藏具体实现细节).面向对象编程(Object-oriented programming,主要集中在设计.实现和使用类继承结构,提供运行时多态性)和泛型编程(Ge…
封装.抽象.继承和多态.封装:在面向对象语言中,封装特性是由类来体现的,我们将现实生活中的一类实体定义成类,其中包括属性和行为(在Java中就是方法),就好像人类,可以具有name,sex,age等属性,同时也具有eat(),sleep()等行为,我们在行为中实现一定的功能,也可操作属性,这是面向对象的封装特性: 抽象:抽象就是将一类实体的共同特性抽象出来,封装在一个抽象类中,所以抽象在面向对象语言是由抽象类来体现的.比如鸟就是一个抽象实体,因为抽象实体并不是一个真正的对象,它的属性还不能完全描…
T1 题目大意, \(S_{i,j}=\sum_{k=i}^j a_k\) ,求 \(ans=\min\{ S_{i,j}\mod P|S_{i,j}\mod P\ge K \}\) 其中 \(i\le j\),\(\{ S_{i,j}\mod P|S_{i,j}\mod P\ge K \}\) 非空 设 \(s_i\) 是取模的前缀和,显然是要满足条件的 \((s_j-s_i)\mod P\) 最小 对于一个 \(s_j\) ,要 \(s_i\) 最大,变成一个查询前驱的问题 但是有限制,考虑…
逻辑性变量的定义符:bool,在C语言中只有true和false: 定义方式:bool t = true; 逻辑运算符: !:逻辑非 &&:逻辑与 ||:逻辑或 表达区间的错误形式:4<x<6;(由左到右顺序执行) 表达区间的正确形式:x>4&&x<6; 判断大写字母:c>='A'&& c<='Z'; 单目运算符的优先级高于双目运算符: 例:!age<20;-------->  (!age)<20;  …
B. National Project 题意:总长度为n的公路进行维修,天气是有规律性的,连续g天的好天气,连续b天的坏天气,必须在好天气进行维护,问至少维护n的一半,那么至少需要多少天 思路:必须是g的整数倍和b的整数倍构成的天数,通过相除,假设g+b是一组,最后尾巴那算作单算 想法:1)这个数必须是g的整数倍和b的整数倍构成的,或者是直接输出n,这个限制条件是题目中没有提到,但是你必须写的 代码: 1 #include<iostream> 2 #include<algorithm&g…