学习总结(7月3日)

一、JAVA学习总结

这几天对Java进行了简单的学习,对于Java的基本语法有了初步的了解。以下是这几日对Java学习的进度。

1.对Java的认识

这是一门面向对象的语言,可以跨平台使用。跨平台使用Java得益于它拥有虚拟机的机制。

2.对于CMD的学习和使用

学习了CMD常用的操作功能命令。

3.对于idea学习

利用Java完成项目一般需要以下四个步骤:

①创建项目project

②创建模块module

③创建一个包package

④创建一个类class

4.学习Java的基本语法

对照着C语言的语法过完了Java的基本语法,感受其中的差距。例如在Java中数组常以int [ ]arr来定义。并且对于这个数组,可以直接使用arr.length来得到该数组的长度。而Java的一般将函数称为方法,并且方法的调用与C语言也存在差异。最大的差别在我看来还是对于类的使用。

二、题目复盘

1.洛谷P4387验证栈序列

这是一道很典型对于栈的理解的题目

主要的思路基于栈的存储方式,即先入后出的方式。

先奉上代码:


#include<iostream>
using namespace std;
#include<stack>
void zhan()
{
	int a[10000];
	int b[10000];
	int now = 0;
	stack<int>s;
	int n = 0;
	cin >> n;
	for (int i = 0; i < n; i++)
		cin >> a[i];
	for (int i = 0; i < n; i++)
		cin >> b[i];
	for (int i = 0; i < n; i++)
	{
		if (s.empty())
			s.push(a[now++]);
		while (s.top() != b[i] && now < n)
			s.push(a[now]++);
		if (s.top() == b[i])
			s.pop();
		else
		{
			cout << "NO" << endl;
			return;
		}
	}
	cout << "Yes" << endl;
	return;
}
int main()
{
	int n;
	cin >> n;
	for (int i = 0; i < n; i++)
		zhan();
	return 0;
}

核心在于两个if的判断和while的循环,通过这一步可以将栈顶元素和出栈的元素进行对比,只有全部出栈,代码才会输出“yes”。其思想主要在于如何巧妙的完成对于入栈和出栈的模拟。

2.力扣3.无重复字符的最长子串

这本质上是对于字符串查找和比较的题目。难点在于如何利用下标或者指针做文章。我的代码如下:

 int lengthOfLongestSubstring(string s) {
        int a = 0;
        int b = 0;
        char c;
        int i = 0;
        int j = 0;
        int k = 0;
        for (i; i < s.size(); i++) {

            for (j = k; j < i; j++) {
                if (s[j] == s[i]) {
                    a = 0;
                    k = j + 1;
                    i = k;
                    break;
                }
            }
            a++;
            if (a > b) {
                b = a;
            }
        }
        return b;
    }

对于这道题目,我在对于a和bif的判断卡了很久,起因是我将这个判断放在了关于j的循环的上方,导致a的处理很难受,但突然将这个判断放在其后面,就可以用极短的代码完成操作。难度不高,主要在于思路清不清晰。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值