自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 浏览器输入一个url发生了什么事

#广域网数据传播流程eg.浏览器输入www.baidu.com发生的事情1.源主机封装:从高到低封装(1)在应用层,基于DNS协议,查找www.baidu.com这个域名对应的ip地址(目的ip)(2)从应用层到数据链路层,依次基于HTTP,TCP,IP,以太网这些协议来封装(3)子网掩码+目的ip的到目的网段,发现和源主机若是同网段,下一跳设备就是目的主机;若不在一个网段,就网网关发(4)基于ARP协议,通过网关ip找到对应的MAC2.发送到交换机(1)基于MAC地址转换表,通过目的MAC

2022-08-22 16:31:26 258 1

原创 字符串在Java内存中的位置

1.2.3.4.关于intern5.6.7.8.

2022-05-03 13:44:44 536

原创 只出现一次的数字 给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。

给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。示例:输入:nums = [0,1,0,1,0,1,100]输出:100class Solution { public int singleNumber(int[] nums) { Map<Integer,Integer> freq=new HashMap<Integer,Integer>(); for(int

2022-04-25 22:30:33 614

原创 二进制加法 给定两个 01 字符串 a 和 b ,请计算它们的和,并以二进制字符串的形式输出。 输入为 非空 字符串且只包含数字 1 和 0。

给定两个 01 字符串 a 和 b ,请计算它们的和,并以二进制字符串的形式输出。输入为 非空 字符串且只包含数字 1 和 0。示例:输入: a = “1010”, b = “1011”输出: “10101”class Solution { public String addBinary(String a, String b) { StringBuffer sb=new StringBuffer(); int carry=0; int l1=

2022-04-24 22:36:48 846

原创 前n个数字二进制中1的个数 给定一个非负整数 n ,请计算 0 到 n 之间的每个数字的二进制表示中 1 的个数,并输出一个数组。

给定一个非负整数 n ,请计算 0 到 n 之间的每个数字的二进制表示中 1 的个数,并输出一个数组。输入: n = 5输出: [0,1,1,2,1,2]解释:0 --> 01 --> 12 --> 103 --> 114 --> 1005 --> 101class Solution { public int[] countBits(int n) { int[] arr=new int[n+1]; for(int

2022-04-24 22:34:30 302 1

原创 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807./** * Definition for singly-linked list. * public class ListNode { * i

2022-04-23 00:04:33 1344 1

原创 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 :输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。方法一:暴力法import java.util.*;class S

2022-04-21 23:48:42 887 2

原创 类和对象JAVA

类和对象一.对象的初步认识面向过程和面向对象的区别C语言是面向过程的,关注的是过程,分析楚求解问题的步骤,通过函数调用逐步解决问题。JAVA是面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互来完成。面向过程注重的是过程,在整个过程中所涉及的行为就是功能。面向对象注重的是对象,也就是参与过程中所涉及到的主体。这个主体中有一些相应的功能。举例:面向过程: 1.把冰箱打开 2. 把大象放入 3. 冰箱关起来面向对象: 打开冰箱,储存,关闭都是对冰箱的操作,是冰箱的行为。冰箱

2021-10-23 16:10:56 89

原创 Java数据类型与变量

数据类型与变量1.字面常量2.数据类型注:(1)使用时,必须要赋初始值,否则报错(2)给内置类型变量赋值时,不能超过该变量的表示范围(3)在java中,整形数字默认是int类型(4)java中没有无符号类型的数据3.类型转换隐式类型转换:在编译代码时,编译器进行转换—将小类型给大类型赋值显式类型转换:需要用户手动进行—将大类型给小类型赋值—默认情况下编译器会报错eg1eg2对于short byte小于4字节的,会先提升成int,再运算...

2021-08-14 16:54:59 73

原创 初识JAVA

初识JAVA1.C语言和JAVA的区别2.JDK JRE JVM三者关系3.java中的关键字4.用java语言写一个HelloWorld5.写代码时 注意事项:

2021-08-12 15:43:35 82

原创 程序环境和预处理

程序环境和预处理1. 预处理(1) C语言的预处理是C语言代码编译过程中的一个重要环节(2) test.c =>test.exe是一个编译过程,完成编译工作的软件称为"编译器"(广义的编译器里面包含了预处理器,词法分析器,语法分析器,语义分析器,中间代码生成器,优化器和链接器)(3)2. 预处理指令代码中#开头的都是预处理指令:#define,#include,#pragma,#if,#else,#endif,#ifdef,#ifndef;3. 宏(1) #define 创建一个宏定

2021-08-04 17:26:46 86

原创 用C语言实现一个通讯录

实现一个通讯录可以完成增删改查功能1.通讯录包含所有人的个人信息2.每个人的个人信息包含姓名和电话3.此代码还实现了数据可以保存到文件,也可以从文件中加载数据(通过save和load两函数)#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>#include<assert.h>//通讯录//1.有一个界面显示信息 控制台/

2021-08-04 17:07:10 391 1

原创 动态内存管理

malloc calloc realloc free内存泄漏mallocvoid* malloc(size_t size);此处的void* 只关注内存地址 不关注大小(大小隐藏在参数size里)内存具体存什么类型,可以是int/double/结构体…size指申请多少个字节的内存(是一个连续的空间)注:申请成功,返回void*申请失败,返回NULL ∴malloc返回值一定要做检查calloc申请的内存是被初始化为0(不一定合理)malloc申请的内存没被初始化过,是内存

2021-08-04 16:39:49 77

原创 mem系列函数的实现

通过代码实现mem系列的函数memcpy memmove memcmp memset1.memcpy把一块内存中的数据拷贝到另一个内存中void* myMemcpy(void* dest, const void* src, size_t num) { assert(dest != NULL); assert(src != NULL); assert(num != 0); //按照字节为单位进行拷贝 char* cdest = (char*)dest; const char* csrc =

2021-07-21 22:25:26 114

原创 str系列函数的实现

通过代码实现str系列函数strlen strcpy strcat strcmpstrncpy strncat strncmpstrstr strtok1.strlen(字符串长度)size_t myStrlen(const char* str) { assert(str != NULL); size_t size = 0; while (str[size] != '\0') { size++; } return size;}2.strcpy(字符串拷贝)将src中的内容拷贝

2021-07-21 22:16:57 482

原创 指针笔试题(含解析)

一些指针笔试题(含解析)答案统一写在注释里第一题int a[] = { 1,2,3,4,5 }; int* p = (int*)(&a + 1);//指向5后面的int* printf("%d %d\n", *(a + 1), *(p - 1));//2 5&a=>int()[5] 数组指针指针再+1跳过一个元素数组指针+1跳过整个数组p=>&a+1 指向5后面的元素 再强制类型转换成int()a=>指向首元素的int* a+1=&g

2021-07-20 18:57:10 106

原创 sizeof strlen笔试题

各种问题的sizeof和strlen1.整型数组//整型数组 int a[4] = { 1,2,3,4 }; printf("%d\n", sizeof(a)); //16 printf("%d\n", sizeof(a+0));//4(一个指针int*) printf("%d\n", sizeof(*a));//4 *a int printf("%d\n", sizeof(a+1)); //4 int* printf("%d\n", sizeof(a[1])); //4 a[1]=&gt

2021-07-19 23:08:29 142

原创 数据在内存中的存储

数据在内存中的存储一. C语言中的数据类型(1) 存整数的: char, short, int, long, long long, int*, int[2].(2) 存浮点数数的: float, double, float[2].(3) 结构体.二. 整数在内存中的存储整数在内存中的存储涉及两个方面,一方面是字节序,第二个方面是补码.1.字节序int num = 0X11223344在内存中如果按照44 33 22 11这种方式来存数据就是小端字节序,按照11 22 33 44 这样的方式

2021-05-27 17:45:35 67

原创 三子棋游戏

三子棋游戏一 游戏流程(1) 创建棋盘,并且初始化,把所有位置都设为空格(2) 打印棋盘(3) 玩家进行落子,让玩家输入一组坐标(row,col)进行落子(4) 判定获胜(5) 电脑进行落子,随机落子(6) 判定获胜二 游戏代码#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<time.h>#define MAX_ROW 3#define MAX

2021-04-28 17:24:31 143

原创 扫雷游戏

扫雷游戏一 创作思路(1) 未翻开的状态(草地)和已经翻开的状态(数字)(2) 该格子是地雷或者不是地雷(1 表示是地雷,0 表示不是地雷)使用两个二维数组来分别表示以上两组状态.第一个二维数组:char showMap[9][9];表示每个格子的翻开和未翻开状态.(*表示表示未翻开,字符’0’~'8’表示已翻开数字);第二个二维数组:char mineMap[9][9];表示每个格子是否是地雷.('1’表示是地雷,'0’表示不是地雷)二 游戏流程1.创建地图并初始化.(针对showMap来

2021-04-28 17:18:49 89

十套数据结构试题及答案[1](1).doc

十套数据结构试题及答案[1](1).doc

2021-12-14

空空如也

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

TA关注的人

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