自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不停

连雨不知春去,一晴方觉夏深。

  • 博客(459)
  • 问答 (1)
  • 收藏
  • 关注

原创 有关数据结构上机实验的问题

1.收到学弟提醒,http://chuantu.xyz/t6/741/1605524547x-1566660945.png,本实验不允许公开实验代码。2.原专栏设置付费,本意是希望大家不要再看了,但是有同学订阅了,特此表示歉意,考虑不周。3.原代码存在不少问题,有些是无法通过测试的,我可能并未修改(事实上 ,我也记不清哪些是有问题,哪些是没问题的,23333),所以本周会进行整理,新整理的代码将在http://buting.site/进行开放,但会隐藏细节,希望同学们自行学习,直接copy代码是会被发现

2020-11-17 10:45:20 806 3

原创 Linux常用命令

Linux常用命令文章目录Linux常用命令命令帮助用户文件系统文件文件显示文本时间与日期进程硬件网络SSH登录和文件传输压缩和归档命令帮助$ man command查询命令command的说明文档$ man -k keyword查询关键字$ info command更加详细的说明文档$ whatis command简要说明$ which commandcommand的binary(二进制)文件所在路径。$ whereis command搜索路径

2020-11-06 21:33:28 295 1

原创 371 .两整数之和

371 .两整数之和地址:https://leetcode-cn.com/problems/sum-of-two-integers/题目:不使用运算符 + 和 - ,计算两整数 a 、b 之和。示例:示例1: 输入: a = 1, b = 2 输出: 3思路:位运算观察位运算中的加法0+0=00+1=11+0=01+1=0(进位1)可以发现,在位运算中的加法(不考虑进位1)就是异或运算的结果。但是仅仅有异或运算是不够的,我们还需要知道,何时发生了进位,这

2020-10-12 15:38:05 220 1

原创 leetcode 5 最长回文子串

leetcode 5 最长回文子串题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"思路1: 动态规划假设字符串大小大于2,对于一个子串而言,如果它是回文串,则如果i-1,j+1相等,【i-1,j+1】就会是回文字符串,否则不是。我们可以得到状态转移方程p(i,j)=p(i+1

2020-09-15 21:00:41 133

原创 NetWork:2.1

NetWork2.1 应用层协议原理2.1.1 网络应用程序体系结构1. 应用程序体系结构(application architecture) 由应用程序研发者设计,规定了如何在各种端系统上组织该应用程序。2. 主流体系结构:客户--服务器体系结构 ; P2P体系结构3. 客户--服务器体系结构 3.1 有一个总是打开的主机称为服务器,它服务于来自许多其他称为客户的主机的请求。4. P2P 体系结构:应用程序在间断的主机间直接通信。...

2020-09-10 23:14:50 133

原创 OOP 14

OOP14 异常和异常处理什么是异常能够正常运行的程序可能存在很多潜在隐患。程序运行时可以检测到的一些非正常情况称为异常(Exception)。如除数为0,数组越界访问,内存空间不够,输入输出不正常(文件找不到、输入数据类型错等)等等异常是程序错误一种形式程序中的错误按性质可分为:语法错误(关键字拼写错、标识符未定义、语句不完整等)逻辑错误(算法设计有误导致得不到期望结果)异常(出现是不可避免的,必须加以控制和处理)异常的抛出,检测,和捕捉异常抛出、检测和捕获的语法定义如下:异常抛

2020-07-28 20:57:39 118

原创 OOP13

OOP13 泛型编程和模板什么是泛型编程所谓泛型编程就是以独立于任何特定类型的方式编写代码,即编写的代码可以用来操纵各种类型的数据例如,编写一个函数,该函数能对各种数据类型的数组(基本类型数组或对象数组)进行倒序;编写一个类,该类能以链表的形式存储各种相同类型的数据。那么,编写这样一个函数或类就是泛型编程什么是模板C++中,模板是泛型编程的基础模板是创建类或函数的蓝图或公式模板分为两种类型-函数模板(Function Template)-类模板(Class Template)模板并

2020-07-28 20:56:58 115

原创 OOP12

OOP12 虚机制与多态静态编联与动态编联编联是指计算机程序自身彼此关联的过程,也就是把一个标识符名和一个存储地址联系在一起的过程静态编联(早绑定,静态绑定)是指在编译阶段完成的编联。支持编译时多态,也称静态多态,即在编译阶段由编译系统根据操作的对象或对象类型确定调用哪个同名函数。函数重载和运算符重载都是静态编联即编译时多态动态编联(晚绑定,动态绑定)是指在运行阶段完成的编联。支持运行时多态,也称动态多态,在运行阶段临时确定具体调用哪个同名函数。C++通过继承和虚函数实现动态多态虚函数虚函

2020-07-28 20:56:28 148

原创 OOP 11

OOP11 类的继承派生和继承派生是指由已有类创建新类的过程。新类称为派生类或子类,已有类称作基类、父类或超类继承是指子类保留父类的成员的特性继承意味着“自动地拥有”,即子类中不必重新定义已在父类中定义过的属性和操作,而是自动地、隐含地拥有其父类的属性和行为继承具有传递性,派生类也可以作基类继承体现泛化关系,实现了代码复用派生类的定义派生类的声明:class <派生类名>;派生类的定义格式如下class <派生类名>:<继承方式> <

2020-07-28 20:55:57 176

原创 OOP 09

OOP09 内存管理C++程序占用的内存区分区全局、静态数据区:存储全局变量及静态变量常量数据区:存储程序中的常量字符串等代码区:存储程序的代码,即程序中各个函数的代码栈区:存储局部自动变量,如函数中的变量等堆区:存储动态产生的变量静态内存管理由编译器决定内存分配的时机、空间以及内存释放单个对象静态内存管理的不足变量的生存期和作用域不够灵活例:Time time1(10,20,30);编译期间确定所使用的内存大小例:Time times[50]; 数组的大小必须

2020-07-28 20:55:26 132

原创 OOP 08

OOP08 运算符重载为什么运算符重载?C++提供了运算符重载机制,赋予运算符多重含义,使一个运算符同时可以作用于内置数据类型和用户自定义数据类型运算符重载的限制运算符重载可以有两种形式,一种是重载为类的成员函数,另一种是重载为全局函数重载为类的成员函数语法格式为<返回类型> [<类名>::]operator<运算符>(<形参表>){ <函数体> }operator是进行运算符重载的关键字,后跟一个需

2020-07-28 20:54:40 89

原创 OOP 07

OOP07 类与对象类定义对象是问题域中一些事物的抽象,是一些属性、操作和方法的封装体,类是对象特征的描述,一个类刻画了一组具有相同特征的对象,类是对同类对象的抽象从实现角度来说,类是某种自定义数据类型,对象是该类型的变量与结构体类似,类由若干个成员组成。类可以没有成员,也可以定义多个成员,成员可以是数据(称为数据成员、成员变量)、函数(称为成员函数)或类型与结构体一样,先定义类型再声明变量(对象)类定义的一般格式class <类名>{<访问控制符>:

2020-07-28 20:54:08 157

原创 OOP06

OOP06面向对象程序设计特点1.更关注数据,而不是过程2.程序分解成实体对象3.数据被隐藏在对象中,不可由外部函数访问4.作用于对象的函数也放于对象中5.对象间通过发送消息(函数调用)通信6.程序设计依据自底向上原则抽象抽象(Abstraction)是简化复杂的现实问题的途径,就是从众多的事物中抽取出共同的、本质性的特征,舍弃其非本质的特征。例如,苹果、香蕉、酥梨、葡萄、桃子等,它们共同的特征就是水果抽象包含两个方面:过程抽象、数据抽象过程抽象就是针对对象的行为特征,如鸟会飞、会跳

2020-07-28 20:53:27 116

原创 OOP04

OOP04指针的使用‘*’ 解引用操作符 (dereference operator),可以理解为取变量中存储的地址所指向的内容,也称为间接(引用)操作符。‘&’ 取地址/引用操作符(Address or reference operator)可以理解为取变量的地址。指针的算术运算1.只有加法和减法。2.给指针加1时,实际是让指针指向下一个与它的数据类型相同的元素。因此,它所指的数据类型的长度字节数就会被加到指针的数值上。void* 指针1.可以保存任何类型对象的地址。2.表明

2020-07-28 20:52:57 174

原创 C++ OOP 01-03

OOP02-C++ 语言基础C++和C语言比较1.增加许多新的语言特性2.支持面向对象程序设计3.支持泛型程序设计4.具有功能强大的标准库5.C++语言是C语言的超集,是一个更好的Cmain()函数int main(int argc,char* argv[]){ // ... return 0;}C++ 多文件结构源文件(定义文件或实现文件)存放程序的实现,通常文件扩展名为.cpp头文件存放程序的声明,通常文件扩展名为.h多文件结构的好处1.支持并发协同编程2.便

2020-07-28 20:51:49 125

原创 JAVA核心技术 第四章 对象与类 第三部分

文档注释

2020-07-14 23:37:50 134

原创 JAVA核心技术 import 和 #include 的区别

JAVA中import语句和C++中#include的异同

2020-07-14 23:24:32 459

原创 JAVA核心技术 第四章 类与对象 第二部分

4.4.4 工厂方法1.静态方法无法命名构造器。当使用构造器时,无法改变所构造的对象类型。4.5 方法参数1.方法参数的类型基本数据类型(数字,布尔值)对象引用2.重点:在JAVA语言中,对于方法参数中的对象引用,实际上是将对象引用进行拷贝,然后再拷贝的基础上进行操作。eg:public static void swap(Employee x,Employee y) { Employee temp=x; x=y; y=x;

2020-07-14 23:18:02 142

原创 Java核心技术 第四章 对象与类 第一部分

4.1 面向对象程序概述4.1.1 类封装(encapsulation,有时称之为数据隐藏) 。将数据和行为组合在一个包中,并对对象的使用者隐藏了数据的实现方式。实例域(instance field) 对象中的数据方法(method) 操作数据的过程4.1.4 类之间的关系依赖 (uses-a)1.1 一个类的方法操纵另一个类的对象,我们说一个类依赖于另一个类聚合(has-a)2.1 关联。A类对象包含B类对象继承 (is-a)3.1 表示特殊与一般的关系4.2.1 对象与对

2020-07-13 21:00:19 104

原创 217--存在重复元素

class Solution {public: bool containsDuplicate(vector<int>& nums) { unordered_set<int> storage; for(int i=0;i<nums.size();i++) { if(storage.count(nums[i])) return false;

2020-07-01 13:38:23 100

原创 189--旋转数组

class Solution {public: void rotate(vector<int>& nums, int k) { k%=nums.size(); reverse(nums,0,nums.size()-1); reverse(nums,0,k-1); reverse(nums,k,nums.size()-1); } void reverse(vector<int&

2020-07-01 13:32:00 89

原创 数组--122 买卖股票的最佳时机||

class Solution {public: int maxProfit(vector<int>& prices) { int n=prices.size(); int dp[n][2]; dp[0][0]=0; dp[0][1]=-prices[0]; for(int i=1;i<n;i++) { dp[i][0]=max(dp[i-1]

2020-06-30 22:26:01 98

原创 数组 26.删除排序数组中的重复项

#include<vector>using namespace std;class Solution {public: int removeDuplicates(vector<int>& nums) { if(nums.size()==0) return 0; int i=0,j=1; for(;j<nums.size();j++) {

2020-06-30 18:12:41 121

原创 209长度最小的子数组

#include<vector>using namespace std;class Solution {public: int minSubArrayLen(int s, vector<int>& nums) { int res=INT32_MAX; int start=0,end=0; if(nums.size()==0) return 0; int su

2020-06-28 15:17:20 139

原创 PAT 1015

#include<iostream>#include<math.h>#include<string>using namespace std;bool isPrime(int a){ if(a==1) return false; int n=sqrt(a); for(int i=2;i<=n;i++) { if(a%i==0) return false; }

2020-06-26 14:09:01 103

原创 PAT 1032 --- Sharing

1.存在错误,可能是输入中存在多余链表,未作筛选,懒的改了。#include<vector>#include<iostream>#include<unordered_map>#include<unordered_set>using namespace std;int main(){ char data[1000000];//结点地址有5位数字,故这个哈希表数组至少要开到10的6次方 int Next[1000000];//结点地

2020-06-24 22:32:55 120

原创 leetcode 每日一题 --- 最接近三数之和

1.题目:方法:双指针加枚举如果做过15 三数之和应该很容易做出#include<iostream>#include<vector>#include<algorithm>#include<math.h>using namespace std;class Solution {public: int threeSumClosest(vector<int>& nums, int target) {

2020-06-24 15:17:54 117

原创 leetcode 124

class Solution {public: int max_sum=INT32_MIN; int maxpath(TreeNode* root) { if(root==NULL) return 0; int leftvalue=max(0,maxpath(root->left)); int rightvalue=max(0,maxpath(root->right)); int p

2020-06-21 20:52:22 132

原创 309---最佳买卖股票的时机(含冷冻期)

class Solution {public: int maxProfit(vector<int>& prices) { int dp[100][2]; // zero means do not hold the share // one means hold the share int length=prices.size(); if(length==1) ret

2020-06-18 00:16:26 89

原创 算法(Algorithm) 第四版

1.第一章2.第二章3.第三章4.第四章5.第五章

2020-06-17 20:02:47 285

原创 算法和数据结构

1.动态规划2.回溯3.递归4.分治5.贪心6.算法分析

2020-06-17 19:57:49 122

原创 48--旋转图像

class Solution {public: void rotate(vector<vector<int>>& matrix) { int l1=matrix.size(); //transpose matrix for(int i=0;i<l1;i++) { for(int j=i;j<l1;j++) {

2020-06-17 19:49:06 105

原创 每日一题---1014 最佳观光组合

class Solution {public: int maxScoreSightseeingPair(vector<int>& A) { int highestscore=0; int mx=0; for(int j=0;j<A.size();j++) { highestscore=max(highestscore,mx+A[j]-j); mx=ma

2020-06-17 15:18:30 155

原创 每日一题 6.12 三数之和

class Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { int n = nums.size(); sort(nums.begin(), nums.end()); vector<vector<int>> ans; // 枚举 a for (int first =

2020-06-12 23:29:25 116

原创 每日一题 6.10

class Solution {public: bool isPalindrome(int x) { if(x<0) return false; else if(x==0) return true; else { string temp=to_string(x); int left=0,right=temp.size()-1

2020-06-10 11:59:15 142

原创 每日一题---990 等式方程的可满足性 并查集

class UnionFind {private: vector<int> parent;public: UnionFind() { parent.resize(26); iota(parent.begin(), parent.end(), 0); } int find(int index) { if (index == parent[index]) { return index;

2020-06-08 18:44:49 219

原创 Java 实验 9

1.实现文件HelloWorldDemo.java的读写,要求如下:(1)打开文件HelloWorldDemo.java,并在控制台显示文件内容;(2)将文件HelloWorldDemo.java的内容,复制写入文件HelloWorldDemo.txt中。/*实现文件HelloWorldDemo.java的读写,要求如下:(1)打开文件HelloWorldDemo.java,并在控制台显示文件内容;(2)将文件HelloWorldDemo.java的内容,复制写入文件HelloWorldDe

2020-06-06 16:36:08 1005 1

原创 Java实验4

import java.util.*;import java.math.*;class point{ private int x;// means the value of x axis private int y;// means the value of y axis public point(int _x,int _y) { this.x=_x; this.y=_y; } public int getX()

2020-06-06 14:54:44 194

原创 leetcode 494 目标和 动态规划

public class Solution { public int findTargetSumWays(int[] nums, int S) { int[][] dp = new int[nums.length][2001]; dp[0][nums[0] + 1000] = 1; dp[0][-nums[0] + 1000] += 1; for (int i = 1; i < nums.length; i++) {

2020-06-06 12:48:15 153

原创 Java实验5

1.为某研究所编写一个通用程序,用来计算每一种交通工具行驶1000公里所需的时间。已知每种交通工具的参数都是3个整数A、B、C的表达式,现有两种工具Car007和Plane,其中Car007的速度计算公式为A*B/C,Plane的速度计算公式为A+B+C。需要编写三个类程序ComputeTime.java、Plane.java、Car007.java和一个接口程序Common.java,要求在未来如果增加第三种交通工具的时候,不必修改以前的任何程序,只需要编写新的交通工具的程序。其运行过程如下,从命令行输入

2020-06-06 00:08:59 3517 4

空空如也

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

TA关注的人

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