自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 深信(售前产品经理)服面试总结

深信服售前产品经理面试经验+内推。

2023-02-23 12:27:10 4541 2

原创 Java对日期的常用操作(时间格式范围、字符串转Date、Date转字符串)

对时间格式是否正确的判断 public boolean checkDateFormat(String s) { //验证时间格式和时间范围是否正确 boolean flag = true; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String[] dateSplit = s.split("-"); int year = 0;..

2022-04-24 11:54:54 1370

原创 C语言中的 *p++与(*p)++

后缀++的优先级比*高,但是使用却非常容易出错,今天做题时就踩坑了,在此记录一下。*p++的意思是 取出来地址p的变量,然后地址p++,而不是对地址p中的元素进行++(*p)++是对地址p中的变量进行++实例代码1void func(int *num){ *num++;}void func2(int *num){ (*num)++;}int main1(){ int a = 2; printf("%d\n", a); //2 func(&a); printf

2021-12-07 11:40:20 6656 1

原创 【JavaSE】面向对象编程

包工作中要用到无穷多的类,这些类很可能会出现重名的情况。这时候怎么办?Java用“包”机制来解决这个问题包(package)提供了类的多层命名空间,用于解决类的命名冲突、类文件管理等问题。只有类名并不代表具体的类,而应该是**“包名+类名”才能对应到具体的某个类**(包名+类名才是完整的类名)位于包中的类,在文件系统中也必须有包名层次相同的目录结构导入包中的类想使用别人写好的类,有三种方式引用前写包的全称,并用 . 分割(写明完整的类名)public class TestDemo {

2021-11-24 10:48:01 1139 3

原创 【Java数据结构】不带头节点的单向链表代码汇总

特点物理上是分散的,逻辑上是连续的随用随取,没有空间浪费读取需要遍历整个链表O(N)插入和删除O(1)种类单向、双向带头、不带头循环、非循环常见有八种结构:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OmQnPbeR-1636338936389)(assets/image-20211107140941-91gudg1.png)]数据的存储方式数据存储在节点中节点包含val(数据域)和next(下一个节点的地址)链表

2021-11-08 10:36:22 946 3

原创 【Java数据结构】顺序表的代码实现

顺序表顺序表其实就是一个写到类中的数组。写到类中就可以面向对象了。实现增删改查。顺序表特点物理上和逻辑上都是连续的插入和删除元素,必须移动元素。(时间复杂度:O(N))扩容也是问题可以实现随机读取(查找时间复杂度:O(1))顺序表的代码目录public class SeqList {// 打印顺序表public void display() { }// 在 pos 位置新增元素public void add(int pos, int data) { }// 判定是否包含某个元

2021-11-05 17:41:34 962

原创 【JavaSE】类

类1. 面向过程与面向对象面向过程C语言是面向过程的,强调求解问题的具体步骤,通过函数逐步解决问题。面向过程注重过程,在整个过程中涉及的行为,就是功能如何把大象放入冰箱:1.把冰箱打开 2. 把大象放入 3. 冰箱关起来面向对象Java是基于面向对象的,关注的是对象,一件事被拆分成不同的对象,靠对象之间的交互完成面向对象注重的对象(也就是参与过程所涉及的主题),是通过逻辑将一个个功能实现连接起来面向对象的程序设计开发时:找对象,建对象,用对象,并维护对象之间的关系

2021-11-03 17:08:29 875 3

原创 青蛙跳台阶问题

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-10-29 15:28:03 822

原创 求一个整数,在内存中存储时,二进制1的个数(两种方法)

方法一:移位法数字n每次与1进行按位与,可知道最后一位是否为1,然后在让n无符号右移。public static void main(String[] args) { //求一个整数,在内存当中存储时,二进制1的个数 Scanner num = new Scanner(System.in); int i = num.nextInt(); int count = 0; while (i != 0) { if ((i & 1) == 1) {

2021-10-24 09:31:59 1002

原创 【JavaSE】1. 数据类型与变量

一、数据类型Java 中,数值类型都是有取值范围的,超过取值范围会编译失败。只有基本数据类型才有包装类基本数据类型(8 种)整数:byte,short,int,long浮点数:float,double字符:char布尔类型:boolean引用类型String数组类接口枚举…1. 整形(int&long)int 不管是多少位的操作系统,永远是 4 个字节。所以 Java 的可移植性强,且是跨平台的Java 中的 int 没有所谓的无符号,

2021-10-17 21:44:16 1007 5

原创 把字符串中的每个空格替换成“%20”.例如:输入“We are happy.”,则输出“We%20are%20happy.”

实现一个函数,把字符串中的每个空格替换成“%20”.例如:输入“We are happy.”,则输出“We%20are%20happy.”#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>void Replace(char str[], int lenth){ if (NULL == str || 0 == lenth) return; int count = 0; //计空格数 int len = 0; //计算str中包含多

2021-10-17 11:09:50 1228

原创 【PTA数据结构】7-4 链表去重 (25 分)

题目要求给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉。即对每个键值 K,只有第一个绝对值等于 K 的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定 L 为 21→-15→-15→-7→15,你需要输出去重后的链表 21→-15→-7,还有被删除的链表 -15→15。输入格式:输入在第一行给出 L 的第一个结点的地址和一个正整数 N(≤10^5​​ ,为结点总数)。一个结点的地址是非负的 5 位整数,空地址 NULL 用 -1 来表示。随后 N 行,每行按以下格

2021-10-12 17:24:43 1881 2

原创 【PTA数据结构】7-3 重排链表(带详细解释)

给定一个单链表 L1→L2→…→Ln−1→Ln,请编写程序将链表重新排列为 Ln→L1→Ln−1→L2→…。例如:给定L为1→2→3→4→5→6,则输出应该为6→1→5→2→4→3。输入格式:每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址和结点总个数,即正整数N (≤)。结点的地址是5位非负整数,NULL地址用−1表示。接下来有N行,每行格式为:Address Data Next其中Address是结点地址;Data是该结点保存的数据,为不超过的正整数;Next是下一结点的地址

2021-10-10 18:26:34 3911 1

原创 【PTA数据结构】7-2 两个有序链表序列的合并

已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。### 输入样例:1 3 5 -12 4 6 8 10 -1结尾无空行输出样例:1 2 3 4 5 6 8 10结尾无空行解答:#define _CRT_SE

2021-10-09 22:29:56 1699

原创 【PTA数据结构】7-1 数组循环左移(带解析)

这个题很多答案只是改变了输出的顺序,并没有对数组进行改变。本文章的解法完全按照题目要求,并且给了详细注释。

2021-10-09 21:12:20 1632

原创 【PTA数据结构】6-5 链表逆置(两种方法)

本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头。链表结点定义如下:struct ListNode { int data; struct ListNode *next;};函数接口定义:struct ListNode *reverse( struct ListNode *head );其中head是用户传入的链表的头指针;函数reverse将链表head逆置,并返回结果链表的头指针。裁判测试程序样例:#include <stdio.h>

2021-10-09 20:03:53 4093 1

原创 【PTA数据结构】6-4 递增的整数序列链表的插入

本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性。函数接口定义:List Insert( List L, ElementType X );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode List;

2021-10-09 12:09:39 1092

原创 柔性数组(数组大小不固定)及其指针实现方法

1、什么是柔性数组普通数组的定义必须要在数组名后的方括号内加上一个“常量”才能使用。但是实际使用的时候经常不能提前知道数组大小,给太大容易造成空间浪费,给太小又不够用。这时,就需要引入柔性数组的概念。柔性数组不是简单的数组变量,而是一个特殊的自定义的结构体类型。该结构中的最后一个元素允许是未知大小的数组。定义如下typedef struct st_type{ int i; //柔性数组前 必须 至少定义一个其他成员 int a []; //柔性数组 //int a[0]; //这样定义柔性数组

2021-10-04 11:47:28 1916

原创 如何求两个二进制位不同的个数

一个很神奇的算法,有多少个不同位,就循环多少次。#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ int num1 = 0; int num2 = 0; int Temp = 0; int count = 0; printf("请输入两个数来比较他们二进制码不同位的个数:\n"); scanf("%d %d", &num1, &num2); Temp = num1 ^ num2;

2021-10-02 09:58:01 969 2

原创 【PTA数据结构】6-3 删除单链表偶数节点 (20 分)

本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中偶数值的结点删除。链表结点定义如下:struct ListNode { int data; struct ListNode *next;};函数接口定义:struct ListNode *createlist();struct ListNode *deleteeven( struct ListNode *head );函数createlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输入结束

2021-09-29 13:13:02 1389

原创 【PTA数据结构】6-2 链式表的按序号查找

本题要求实现一个函数,找到并返回链式表的第K个元素。函数接口定义:ElementType FindKth( List L, int K );其中List结构定义如下:typedef struct LNode *PtrToLNode;struct LNode { ElementType Data; PtrToLNode Next;};typedef PtrToLNode List;L是给定单链表,函数FindKth要返回链式表的第K个元素。如果该元素不存在,则返回ERROR

2021-09-26 22:37:34 431

原创 【PTA数据结构】6-1 数组元素的区间删除

本题我一共想了三种方法。其中暴力解法是会被判定超时!另外两种是两种不同的思路去解答。给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储,并且相对位置不能改变。函数接口定义:int Delete( int A[], int L, int minA, int maxA );其中A是整型数组,存储原始线性表的元素;L是表长,即A中元素的个数;minA和maxA分别为待删除元素的值域的下、上界。函数Delete应将A中所有值大于minA而且小于

2021-09-26 22:35:23 638 1

原创 【PTA数据结构练习】7-2 通讯录排序

输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。输入格式:输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。输出格式:按照年龄从大到小输出朋友的信息,格式同输出。输入样例:3zhang 19850403 1391

2021-09-24 22:20:55 688

原创 【PTA数据结构练习】7-1 查找书籍

给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。输入格式:输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。输出格式:在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。输入样例:3Programming in C21.5Programming in VB18.5Programming in Delphi

2021-09-24 22:18:58 764 1

原创 【PTA数据结构习题】6-4 有序表的增删改查操作 (20 分)(代码有解析)

首先输入一个正整数N(1≤N≤1000)和一个无重复元素的、从小到大排列的、N个元素的有序表,然后在屏幕上显示以下菜单(编号和选项)。[1] Insert[2] Delete[3] Update[4] Query[Other option] End用户可以反复对该有序表进行插入、删除、修改和查找操作,也可以选择结束。当用户输入编号1~4和相关参数时,将分别对该有序表进行插入、删除、修改和查找操作,输入其他编号,则结束操作。本题要求实现4个函数,分别在有序表(数组)中插入、删除、修改、查找一个

2021-09-23 15:03:58 3751 1

原创 【PTA数据结构习题】6-3 函数实现字符串逆序 (15 分)

本题要求实现一个字符串逆序的简单函数。函数接口定义:void f( char *p );函数f对p指向的字符串进行逆序操作。要求函数f中不能定义任何数组,不能调用任何字符串处理函数。裁判测试程序样例:#include <stdio.h>#define MAXS 20void f( char *p );void ReadString( char *s ); /* 由裁判实现,略去不表 */int main(){ char s[MAXS]; ReadStr

2021-09-23 15:00:17 2451 1

原创 【PTA数据结构习题】6-2 在数组中查找指定元素

6-2 在数组中查找指定元素 (15 分)本题要求实现一个在数组中查找指定元素的简单函数。函数接口定义:int search( int list[], int n, int x );其中list[]是用户传入的数组;n(≥0)是list[]中元素的个数;x是待查找的元素。如果找到则函数search返回相应元素的最小下标(下标从0开始),否则返回−1。裁判测试程序样例:#include <stdio.h>#define MAXN 10int search( int list[

2021-09-23 00:03:52 2708

原创 【PTA数据结构习题】6-1 分类统计字符个数

6-1 分类统计字符个数 (15 分)本题要求实现一个函数,统计给定字符串中英文字母、空格或回车、数字字符和其他字符的个数。函数接口定义:void StringCount( char s[] );其中 char s[] 是用户传入的字符串。函数StringCount须在一行内按照letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数的格式输出。裁判测试程序样例:#include <stdio.h>#de

2021-09-22 23:59:55 1482

原创 常用字符串函数的仿写(strlen、strcpy、strcat、strcmp、strstr、momcpy、mommove)

长度不受限制的字符串函数:strcpy;;strcat; strcmp长度受限制的字符串函数:strncpy;strncat;strncmp(相对安全)memcpy - 完成不重叠的内存拷贝memmove - 可以完成内存重叠的内存拷贝字符操作函数的仿写1、strstr//主函数int main(){ char arr[] = "abcdefg"; char* ret = my_strstr(arr, "cde"); printf("%s\n", ret); return 0;}

2021-09-21 11:43:05 543

原创 【算法题】输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为o(n)。

题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为o(n)。例如输入的数组为{1, -2, 3, 10, -4, 7, 2, -5},和最大的子数组为{3, 10, -4, 7, 2},因此输出为该子数组的和18首先把主函数写出来int main(){ //输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。 //要求时间复杂度为o(n)。例如输入的数组为{1

2021-08-26 12:12:02 2220

原创 【智力题】每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机)一箱油可供一架飞机绕地球飞半圈。 问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?

注意:本题解答有以下假设:1、加油是瞬间完成的2、飞机飞行路线没有任何偏差3、不考虑飞机掉头时的油量损耗4、地球是个规则的圆形5、飞机飞行时不考虑任何政治因素,可以在任何国家按照任何航线任意飞行。

2021-08-22 10:56:56 1201 1

原创 C语言数组名与指针的关系

初学C语言经常搞不清数组名的用法,以及数组名和指针的关系。本文对其进行了总结,并给出了实际的代码进行验证。数组名就是首元素的地址但有2个例外:1. sizeof(数组名),这里的数组名表示整个数组,sizeof(数组名)计算的是整个数组的大小2. &数组名,这里的数组名表示整个数组,取出的是数组的地址例题1int main(){ char *pcColor = "blue1"; //定义一个指针,并指向一个字符串 char acColor [] = "blue1"; //定义一个

2021-08-22 09:59:25 215

原创 【智力题】13 个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球?

13个球中,我们将重量与其他球不同的球称之为“坏球”,讲普通球称之为“好球”。先将球随机分成4-4-5三组,然后让前两组(4-4)进行对比1、4-4平则证明前两组的8个球都是好球,坏球在第三组的五个球中。从第三组的五个球中任意拿出三个球,放在天平左盘;再取三个好球放在天平右盘(3-3)。1a、3-3平则这六个球都是好球,坏球在最后的两个球中。再拿一个好球与剩下两个的任意一个比,就可找到坏球。1b、3-3不平则坏球在这三个球中。这时要记录含有坏球这一组的轻重信息,可以推测出坏球的质

2021-08-20 10:10:06 869

原创 【智力题】用数字 5,5,5,1 ,进行四则运算,每个数字当且仅当用一次,要求运算结果值为 24

24 = 25 - 1 = (5 * 5) - (5 * 1 / 5) = 5 * (5 - 1/5)

2021-08-17 10:37:13 268

原创 【智力题】有 1000 瓶药物,但是其中有一瓶是有毒的,小白鼠吃了一个星期以后就会死掉!请问,在一个星期内找出有毒的 药物,最少需要多少只小白鼠?

小白鼠的生与死可以看作二进制的0和1,用二进制的思想,图文并茂的解答此问题。欢迎评论讨论!

2021-08-13 12:02:42 4600 10

原创 求二维数组的行数、列数和元素个数

求二维数组的行数、列数和元素个数的实际代码和原理解释

2021-08-12 11:57:46 6204

原创 不创建新变量如何实现两数的交换

本文介绍了两种方法,可以不通过中间变量直接交换两个变量的值。

2021-07-31 10:01:18 849

原创 C语言实现扫雷小游戏(初级版)

尝试写的第二个小游戏:扫雷游戏规则是在一个9*9的棋盘上,随机分布了10个地雷,输入坐标号可以得到该坐标附近位置地雷数。直到把所有不含有地雷的方格全部选出,即可获胜。本次同样是三个文件夹game.h:包含所有函数的声明和常量game.c:所有游戏本身的函数本体test.c:包含游戏调试的所有代码game.h#pragma once#define ROW 9 //这里是棋盘的规格#define COL 9#define ROWS 11 //为了防止数组越界,将棋盘“放大一圈”。#de

2021-07-30 21:58:50 516 3

原创 小游戏:井字棋(电脑入门级对战)

井字棋是一个很常见的小游戏。要求对战双方在一个“井”形的棋盘里分别下“*”棋子或者“#”棋子,谁先连成3个,谁就赢。本次使用C语言来实现这个小游戏。由于使用函数较多,所以采用多文件的方式方便梳理代码思路。本次一共有三个文件:**game.h:包含了game.c文件中函数的声明和库函数的声明。**#pragma once#define ROW 3#define COL 3#include<stdio.h>#include<stdlib.h>#include&

2021-07-30 09:00:15 514

原创 C语言中数组长度的计算方法总结(sizeof与strlen)

本文章详细介绍了C语言常见的定义数组的方式,并且详细讨论了strlen与sizeof求解数组的原理和使用情况。适合C语言的初学者阅读。

2021-07-27 16:50:03 127535 27

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除