- 博客(32)
- 收藏
- 关注
原创 前缀和处理数组区间之和问题
区间和问题”通常指的是涉及计算或处理数组或数列某个子区间(即一段连续元素)的总和的类型问题。这类问题可能有多种变体和不同的复杂度,但基本思想都是在给定的区间内快速计算总和或处理与区间和相关的操作。
2024-08-08 21:41:34 410
原创 CSS选择器常见用法
css控制器选择器1.选择器的功能:选定页面中指定元素,进而修改元素的属性2.选择器的种类.基础选择器: 单个选择器构成的标签选择器类选择器id 选择器通配符选择器复合选择器: 把多种基础选择器综合运用起来.后代选择器子选择器并集选择器伪类选择器选择器1.选择器的功能:选定页面中指定元素,进而修改元素的属性2.选择器的种类可以参考.基础选择器: 单个选择器构成的标签选择器特点:1.能快速为同一类型的标签都选择出来.2.但是不能差异化选择<!DOCTYPE html><
2022-01-13 18:44:21 1037 1
原创 Java的JDBC编程
JDBC编程:一、java的数据库编程;二、JDBC工作原理;三、JDBC使用jdbc下载地址:https://mvnrepository.com/
2022-01-07 19:46:30 951
原创 栈和队列的简单介绍
1. 栈1.1 常用方法1.2栈的应用场景改变元素的序列将递归转化为循环比如:逆序打印链表// 递归方式void printList(Node node){ if(null != node){ printList(node.next); System.out.print(node.val + " "); }}// 循环方式void printList(Node node){ if(null == node){ return; } Stack
2021-11-12 19:46:24 533
原创 String类
String类String的常用方法String常量池String创建对象的方法String不可变性String的常用方法String常量池为了使程序的运行速度更快、更节省内存,Java为8种基本数据类型和String类都提供了常量池。除了字符串常量池外,Java中还有:Class常量池:每个.Java源文件编译后生成.Class文件,.Class文件中会保存当前类中的字面常量以及符号信息运行时常量池:在.Class文件被加载时,.Class文件中的常量池被加载到内存中称为运行时常量池,运行时
2021-10-26 15:44:22 185
原创 JZ67 把字符串转换成整数
JZ67 把字符串转换成整数题目解题思路运行代码题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0输入描述:输入一个字符串,包括数字字母符号,可以为空返回值描述:如果是合法的数值表达则返回该数字,否则返回0示例1 输入:"+2147483647" 返回值:2147483647示例2 输入:“1a33” 返回值:0解题思路看到这道题首先我们应该想到要判断边界问题,也就是你的下标不可以超出str.l
2021-10-15 17:06:19 156
原创 Java中的异常
异常初识异常异常的基本用法基本语法基本用法java异常体系自定义类异常初识异常在我们之前遇到的代码中,多多少少都会有报错的情况,就比如:数组越界、除数为0、指针为空等情况。所谓异常指的就是程序在 运行时 出现错误时通知调用者的一种机制。和编译期的错误不一样,编译时出错一般是指拼写错误,语法错误。而运行时指的是程序已经编译通过了,得到了class文件再由JVM执行过程中出现的错误。异常的基本用法基本语法使用 try 和 catch 关键字可以捕获异常,try/catch代码块中的代码称为保护代码,
2021-10-12 17:07:33 134
原创 关于以下程序段的输出正确的是:String s1=“abc“+“def“;String s2=new String(s1); if(s1.equals(s2))System.out.println
关于以下程序段的输出正确的是:String s1="abc"+"def";//1String s2=new String(s1);//2if(s1.equals(s2))//3 System.out.println(".equals succeeded");//4if(s1==s2)//5 System.out.println("==succeeded");//6A.输出".equals succeeded",输出"==succeeded"B.输出".equals succeeded",不
2021-10-12 16:10:12 3152
原创 下面代码将输出什么内容: public class SystemUtil{ public static boolean isAdmin(String userId)
下面代码将输出什么内容:()public class SystemUtil{ public static boolean isAdmin(String userId){ return userId.toLowerCase()=="admin"; } public static void main(String[] args){ System.out.println(isAdmin("Admin")); }}正确答案:B原因:因为toLowerCase()方法会重新创建一个strin
2021-10-12 15:59:02 883
原创 抽象类和接口
抽象类和接口抽象类抽象类概念抽象类形式抽象类特征引出接口接口1.接口简介定义2.接口特性接口间的继承抽象类抽象类概念在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类抽象类形式public abstract class Animal{ abstract void animalAbstract(); //定义抽象方法,没有方法体 // 抽象类也是类,也可以增加普通方法和属
2021-09-24 17:01:46 125
原创 类和对象(下)
类和对象对象的构造和初始化如何初始化对象构造方法1、构造方法的概念2、特性3、默认初始化5.4 就地初始化对象的构造和初始化如何初始化对象public static void main(String[] args) {Date d = new Date();d.printDate();d.setDate(2021,6,9);d.printDate();}// 代码可以正常通过编译需要调用之前写的SetDate方法才可以将具体的日期设置到对象中。通过上述例子发现两个问题:每次对象创建
2021-09-17 11:47:20 227
原创 类和对象(上)
类和对象面向对象与面向过程一、面向对象与面向过程的区别二、面向对象与面向过程的优缺点类的定义和使用一、类是什么二、类的定义类的实例化3.1 什么是实例化3.2 类和对象的说明this引用什么是this引用4.3 this引用的特性面向对象与面向过程一、面向对象与面向过程的区别面向过程和面相对象并不是一门语言,而是解决问题的方法。面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成
2021-09-12 18:42:36 102
原创 JAVA中的变量
变量3.1 变量概念在程序中,除了有始终不变的常量外,有些内容可能会经常改变,比如:人的年龄、身高、成绩分数、数学函数的计算结果等,对于这些经常改变的内容,在Java程序中,称为变量。而数据类型就是用来定义不同种类变量的。3.2 语法格式定义变量的语法格式为:数据类型 变量名 = 初始值;int a = 10; // 定义整形变量a,a是变量名也称为标识符,该变量中放置的值为10double d = 3.14;char c = 'A';boolean b = true;int a1 =
2021-08-14 15:47:54 360
原创 Java中数据类型
数据类型与变量字面常量数据类型字面常量System.Out.println("Hello World");不论程序何时运行,输出的都是Hello World,其实"Hello World"就是字面常量。常量即程序运行期间,固定不变的量称为常量,比如:一个礼拜七天,一年12个月等常量的分类:字符串常量:有""括起来的,比如“12345”、“hello”、“你好”。整形常量:直接写上的数字(注意没有小数点),比如:100、1000浮点数常量:直接写上的小数,比如:3.14、0.49字符常量:
2021-08-14 09:52:50 135
原创 字符与字符串函数
字符与字符串函数strlen模拟实现strlenstrcpy//字符串拷贝模拟实现strcpystrcat//字符串拼接模拟实现strcatstrcmp//字符串比较模拟实现strcmpstrncpy模拟实现strcpystrncat模拟实现strncatstrncmp字符串查找strstrstrtokstrlen字符串已经 ‘\0’ 作为结束标志,strlen函数返回的是在字符串中 ‘\0’ 前面出现的字符个数(不包含 ‘\0’ )参数指向的字符串必须要以 ‘\0’ 结束size_t strl
2021-06-25 12:55:47 79
原创 fflush和标准输入与输出
什么是fflush定义fflush是一个在C语言标准输入输出库中的函数,功能是冲洗流中的信息,该函数通常用于处理磁盘文件。fflush()会强迫将缓冲区内的数据写回参数stream 指定的文件中。标准输入与输出先说一下什么是stdin和stdout,以便下面内容的理解。执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,
2021-06-21 11:37:05 412
原创 C语言小白代码实现扫雷
扫雷图解源码game.htest.cgame.c代码解释大致思路核心部分图解假设我们的扫雷棋盘是7* 7,但实际上,我们需要一个9* 9的布雷棋盘,因为如果不扩大棋盘,统计在边界的格子的周围雷数就会非常的麻烦。因此我们可以对于用户user的棋盘,我们可以初始化为全’?’。而对于布雷mine的棋盘,我们假设0没雷,1有雷,初始化为全0,之后再随机布雷就好了。这样逻辑就很清晰。源码game.h#pragma once#define _CRT_SECURE_NO_WARNINGS 1#define
2021-06-21 11:06:25 359 3
原创 Debug和Release介绍
Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 代码:#include<stdio.h>int checkData(int* p){ char tmp = 0; int i; for (i = 0; i < 5; i++) { tmp |= 1 << p[i]; //tmp每次或上一位1,p[i]如果
2021-06-17 15:43:58 911
原创 指针与数组
这里写目录标题数组和指针指针和数组的关系数组和指针指针和数组的关系通过上一篇文章指针的原理——地址、内存我们知道,数组名表示的其实是数组首元素的地址,所以我们可以这样来写代码#int arr[5]={1,2,3,4,5};int *p=arr;//p存放的就是1的地址所以我们就可以通过指针来访问数组了,#include<stdio.h>int main(){ int arr[5]={1,2,3,4,5}; int *p=arr; int len=sizeof(arr)/
2021-06-15 12:04:25 199
原创 指针的原理——地址、内存
这里写目录标题指针指针是什么指针与指针类型指针+-整数指针的解引用指针运算指针+-整数指针-指针指针和数组指针指针是什么百度百科:指针,是C语言中的一个重要概念及其特点,也是掌握C语言比较困难的部分。指针也就是内存地址,指针变量是用来存放内存地址的变量,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。有了指针以后,不仅可以对数据本身,也可以对存储数据的变量地址进行操作。指针是一个占据存储空间的实体在这一段空间起始位置的相对距离值。在C
2021-06-14 23:34:33 5141 2
原创 C语言求自幂数
如果在一个固定的进制中,一个n位自然数等于自身各个数位上数字的n次幂之和,则称此数为自幂数。例如:在十进制中,153是一个三位数,各个数位的3次幂之和为1^3 + 5^3 +3^3=153,所以153是十进制中的自幂数。我们熟知的水仙花数只是自幂数的一种,严格来说3位数的3次幂数才称为水仙花数。一位自幂数:独身数、两位自幂数:没有、三位自幂数:水仙花数、四位自幂数:四叶玫瑰数、五位自幂数:五角星数、六位自幂数:六合数、七位自幂数:北斗七星数、八位自幂数:八仙数、九位自幂数:九九重阳数、十位自幂数:十全十美
2021-06-13 10:41:05 5788
原创 位操作符以及几种常见应用
操作符详解原反补移位操作符1、左移操作符2、右移操作符3、示例位操作符例1:不创建临时变量,交换两个数例2:求一个整数存储在内存中二进制中1的个数百度笔试题:如何判断一个数字是否为2的K次幂(不需要计算K)原反补加法器计算机里面,只有加法器,没有减法器,所有的减法运算,都必须用加法进行。通过被减数的补码代替被减数,可以把减法转变为加法运算。补码减法所依据的基本关系式:[x-y]补 =[x+(-y)]补= [x]补+ [-y]补原码:1000 0001反码:1111 1110 原码取反补码:11
2021-06-10 01:04:08 384
原创 数组游戏——三子棋
三子棋·功能介绍·代码实现及注释1、主函数的实现以及三子棋的构思框架(test.c)二、三子棋功能的实现(game.c)3、头文件的引用(game.h)·代码展示·功能介绍三子棋的基本功能有,电脑下棋,玩家落点是否合法,以及判赢机制。·代码实现及注释1、主函数的实现以及三子棋的构思框架(test.c)简单的一个选择菜单,玩家选完选项后,用switch语句分支。#define _CRT_SECURE_NO_WARNINGS 1#include"game.h"int main() { sran
2021-06-09 17:55:36 1287 6
原创 初学者对分支语句和循环语句的浅述(C语言)
6.3 C知识点1.三种死循环:2.关于for语句3.关于switch语句:关于循环:几个入门代码:1.三种死循环:(1)goto死循环(所以goto基本不用)int a=1;loop:if(i==1) goto loop;(2)、for(){}当for循环的第二个表达式没有条件时,就会导致死循环。(3)、while (1){}或者do{}while (1);无限执行while;2.关于for语句1.不建议在for循环当中修改循环变量,防止循环容易失去控制。2.在写循环控制变量的
2021-06-06 14:18:05 110
原创 C语言汉诺塔与青蛙跳台阶——递归的简单应用
C语言汉诺塔与青蛙跳台阶——递归函数的简单应用什么是递归汉诺塔青蛙跳台阶什么是递归程序反复调用自身即是递归(recursion)它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。 递归的主要思考方式在于:把大化小,把求解的过程分解为一块块相似的套娃。递归的两个必要条件:1、存在限制条件,当满足这个限制条件的时候,递归便不再继续。2、每次递归调用之后越来越接近这个限制条件。相信很多初
2021-06-06 01:04:55 512 1
原创 比较实用的vs快捷键(随时更新)
光标快速到达行尾 打开VS,工具 > 选项 > 环境 > 键盘:显示命令包含下的输入框输入:编辑.行尾 这时候点击下方的按快捷键输入框,输入完后点击分配>确定 。 自定义其他快捷键同理;注释:CTRL+K+C取消注释:CTRL+K+U开始执行(不调试):CTRL+F5调试:F5设置断点:F9(断点行不执行)上/下行同时复制输入代码:Shift + Alt + Up/Down(选中行)注释:CTRL+K+C取消注释:CTRL+K+U复制此行代码:CTRL+C,再粘.
2021-06-04 22:05:52 408
原创 有序序列判断
有序列判断思路我的代码优化思路总结思路简单说一下我的解题思路,因为有序列的判断他可能是从大到小,也可能是从小到大。所以我可以来判断(a[i]-a[i+1])*(a[i+1]-a[i+2])是否小于0,如果他小于零,说明这个序列的增减方向不一致,所以他是未排序的。引入一个flag来记录他的排序情况,一旦<0,直接break循环,后再判断flag的情况我的代码#include<bits/stdc++.h>using namespace std;int main(){ int
2021-06-03 18:03:03 340
原创 5.30 C知识点
5.30 C知识点strlen获取的规则非常简单:从前往后一次检测,直到遇到’\0’是就终止检测。结尾标记’\0’不包含在内。因此strlen在求解时,将有效字符检测完之后,还会继续向后检测。当没有检测到‘\0’时,输出是随机值。sizeof不是函数,是关键字。sizeof(ch)/sizeof ch; 均可,而且sizeof()会把空字符’\0’算进去。常见的转义字符\n:换行\r:回车\’ 用于表示字符常量 ’\“ :用于表示一个字符串内部的双引号\\ :用于表示一个反斜杠,防止它被解
2021-05-31 18:42:47 209 1
原创 P1980 [NOIP2013 普及组] 计数问题
P1980 [NOIP2013 普及组] 计数问题打卡2题目描述:试计算在区间 1到 n的所有整数中,数字x(0 ≤ x ≤ 9)x(0≤x≤9)共出现了多少次?例如,在 1到11中,即在 1,2,3,4,5,6,7,8,9,10,111,2,3,4,5,6,7,8,9,10,11 中,数字 1 出现了 4 次。这道题有两种方法来解。第一种,是直接来用求余符号算出数字的每一位是否和y相等,如果相等,count+1;如果不相等继续除以10,求余,直到j=0为止。应该注意的是,i赋值给j操作要在while
2021-04-03 10:42:59 778
原创 P1089 [NOIP2004 提高组] 津津的储蓄计划
打卡1题目描述津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个
2021-04-01 17:21:45 255
转载 C语言的数组定义方式
C语言的数组定义方式c语言数组定义方式1、一维数组2、一维数组初始化3、一维数组元素的引用数组是存储数据的结构。由于单个变量所能存储的数据很有限,所以有了数组存储结构。不仅如此,数组和指针是相辅相成的,学习数组可以为学习指针打下基础。注意:同一数组中存储的数必须满足以下两个条件:这些数的类型必须相同。这些数在内存中必须是连续存储的。换句话说,数组是在内存中连续存储的具有相同类型的一组数据的集合。c语言数组定义方式1、一维数组通常一维数组的定义方法为:类型说明符 数组名[常量表达式];例
2021-01-08 20:14:58 60927 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人