分享一个OJ平台——浙江工商大学的OJ平台

2023-11-16

1.引言

    最近是有总喜欢讨论算法题,因为他们在准备考研复试,为什么我不准备呢?这是一个悲伤的故事,刚好自己也有面试遇到只能使用C和C++的代码题,他们说这OJ平台相对简单一些,那些刷不来LeetCode可以试试这个,作为入门算法的跳板。体验体验写不出来或者找不到bug的那种感觉,避免入职第一天觉得顶不住压力,说实话,前端更偏向于业务,往往就是搜索——看看配置方式——总结或者深究原理(陈然很多时候我们都没有这最后一步,前端也就成了专业码砖的了)。一旦遇到某些bug解决不了或者某些功能没有实现的思路往往一下子上头。作为菜鸡,试了试浙江工商的这个还是挺适合我的,举出例子让前端编程弱的友友们了解一下吧。

2.网站

    浙江工商大学OJ平台,链接:http://acm.zjgsu.edu.cn/,我们学校也有,大一也做了一些,但是没能坚持下去,算法需要足够的毅力才能有一些证书上的成果。当然也不必因为觉得算法不好而自卑,各有所长很正常,计算机越学越广。

3.题例一

    题目简介:
在这里插入图片描述
    思路上还是很好想出来的,关键是容错处理,首部和尾部的空格(可能是连续的无效空格),最后的解决思路是:
(1)首先排除首部的无效空格,然后再来计数;立一个flag,如果头部一直是空格,那么flag一直不变,出现字符反转flag,也就是有单词。
(2)中间计数:如果前面一个是空格,后一个不是空格,那么计数一次;
(3)后置处理:如果最开始设置的flag没有反转过,那就是都是空格,也就是没有单词;如果有单词,那么需要最后在计数的基础上+1,因为判断是基于单词空格判断的。
简单贴一下代码吧:

#include<bits/stdc++.h>//算法的万能头
using namespace std;
int main() {
	string str;
	int num = 0;
	getline(cin, str);
	int len = str.length();
	int flag = 0;
	for (int i = 0; i < len; i++) {
		//去掉首部的空格
		if (!flag && str[i] == ' ') {
			continue;
		} else {
			flag = 1;
			if (i > 0 && (str[i - 1] == ' ' && str[i] != ' ')) {
				num++;
			}
		}
	}
	if (!flag)cout << 0 << endl;
	else {
		cout << num + 1 << endl;
	}
	return 0;
}

4.题例二

     其实主要是想说这个,有点东西的:
在这里插入图片描述
     如果没有踩到坑或者没有仔细复盘可能不知道里面的坑,大概也就是为什么这题的通过率这么低。注意题意的理解,先找最小值再交换,再找最大值再交换,注意第二次是对交换之后的数据进行操作。很多人估计和我一样:这还不简单,直接遍历一次,找出最大最小值的下标交换,完事了,但是一直有部分样例没有通过。
     其实原因是:同时遍历再交换和两次有先后顺序的处理是不一样的,最后我通过复盘找到了一组数据:4 3 1(题目保证输入数据不重复),如果是同时遍历再交换,那么执行流程将是如下的情况:
(1)找到最小最大值下标(题意要求先换小的),也就是下标对应于20
(2)交换最小值位置,由于最小的数不在第一个位置,交换变成了1 4 3
(3)交换最大值位置,由于最大的数据不在最后的位置,交换变成了3 4 1(是的,变回去了)。
然而如果按照题意的两次,第一次交换也就是第一次交换最小值,变成了:1 3 4,第二次交换最大值,也就是不变了。有点东西,算法还是不能想当然,不然怎么错的都得想半天。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分享一个OJ平台——浙江工商大学的OJ平台 的相关文章

  • Java快速入门

    Java快速入门 Java概述 JDK介绍下载安装 入门程序HelloWorld JDK JRE 跨平台 Java程序执行原理 1 人机交互 1 1 什么是cmd 就是在windows操作系统中 利用命令行的方式去操作计算机 我们可以利用c

随机推荐

  • lego ev3 c语言编程,乐高 EV3 高级编程 – 第一课:安装

    我的学生写的教程 英文版的 好吧 我翻译一下 先介绍一下我的学生 今年 12 岁 2018年 普通 2 等中学初中 2 年级 学校名字就不说了 说了你也没听过 除了数学和科学比较好 其他科目成绩一般 学习电脑编程 3 年 大概每星期学 2
  • echarts使用API查看新增商品数量

    echarts使用API查看新增商品数量 echarts官网 http echarts baidu com index html 帮助文档 http echarts baidu com api html echarts 下载地址 http
  • 前后端分离 个人博客系统 (源码)

    该项目为个人博客系统 相对较为简单 比较适合新手学习 博客分为前台与后台 以三更博客为内容 前台展示页面 导航栏包括首页 分类 赞赏 友联 右下部分展示热门文章及浏览次数 文章详情页 可在底部进行评论 以及显示浏览量 友联 也可以进行评论
  • 项目范围和项目范围管理

    项目的范围包括项目的最终产品或服务以及实现该产品或服务所需要开始的各项具体工作 1 项目产品范围 项目所要生产的产品或服务的特征和功能 2 项目工作范围 项目范围管理是指为了成功完成项目 对项目工作包括什么与不包括什么的定义与控制过程 项目
  • python实现md5加密

    python实现MD5加密 1 简介 Message Digest Algorithm MD5 中文名为消息摘要算法第五版 为计算机安全领域广泛使用的一种散列函数 用于确保信息传输完整一致 MD5是单向加密 指只能加密数据而不能解密数据 主
  • 【FAQ】TheBrain最新最热问答集锦

    TheBrain是一款与众不同的思维导图软件 其所有信息通过一个又一个的节点进行联系 最终形成一个杂而不乱的网状结构 TheBrain功能亮点 数字思维 整合分散的资源 随时访问 快速搜索 强大的文档管理功能 一目了然的图形 最新版TheB
  • 去阿里面试到第三轮的时候,会如何360度无死角考察你?

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 目录 1 业务背景介绍 2 架构演进考察 3 对公司底层技术的原理考察 4 系统难点的考察 5 擅长技术的考察 6 总结 这篇文章 给大家分享一个同学面试阿里某个部门
  • 回归分析的基本步骤与自相关性

    一个回归分析的步骤 1 用scat x y 查看散点图 2 使用适当的模型进行回归分析 ls 估计出参数 3 统计检验 包括拟合优度检验和模型显著性检验 4 时间序列数据要做自相关性分析 横截面数据做异方差性检验 4 检查是否有多重共线性
  • Linux环境Ubuntu源码部署odoo15

    部署之前首先升级apt 否则所有的包都无法获取 sudo apt get update PostgreSQL相关 安装数据库 sudo apt get install postgresql 安装数据库客户端 sudo apt get ins
  • Java实现一个简单的命令行聊天程序

    Socket编程 Java实现 客户端 package net import java io BufferedReader import java io InputStreamReader import java io PrintWrite
  • SaaS、ERP、CRM、PaaS、IaaS概念

    layout post title SaaS ERP CRM PaaS IaaS概念 categories 实施工程 tags SaaS SaaS Software as a Service 软件即服务 SaaS首先是一个模式 其次也可理解
  • 开发支付宝小程序对比开发微信小程序

    接触使用开发支付宝小程序 之前弄微信小程序现在也做一点点支付宝小程序的需求 发现支付宝小程序和微信小程序这两者还有很多东西是共通的 当然也有很多差异 本文旨在在自己接触的过程中进行对比总结 会一直更新比较 1 开发工具 提供功能 开发工具上
  • redis专题-----11-----redis订阅发布以及stream

    参考文章 Redis发布订阅模式 publish subscribe 一 订阅发布 1 概念 1 为了支持消息的多播机制 redis 引入了发布订阅模块 Redis发布 订阅 Pub Sub 是一种通信机制 将数据推到某个信息管道中 其他客
  • 前端不规则气泡图实现方案

    背景介绍 由于项目大屏可视化的需求 需要实现在一个不定长宽的长方形容器中 实现不重叠分布的气泡图 每个气泡代表一类数据的统计值 气泡个数最大值已知 气泡大小与数据值大小正相关 并且气泡图需要有浮动特效 页面尺寸改变时 气泡尺寸需要自适应容器
  • 微信小程序0基础到精通

    写在开头 此篇文章只是简单描述了一下一条学习路线 具体学习资源获取方式请看文末 第一步 想快速入门小程序开发就需要从必备的API和核心开发等基础知识入手 建立整个小程序的知识体系 学习目标 新手入门与项目实战 课程重点 1 小程序核心技术
  • 计算机原理提问,计算机原理的计算机原理人话版

    Windows关机步骤涉及到Windows多个组件和多个过程 简单的说 Windows的关机步骤不是大多数人认为的那么简单 基本的过程是这样的 1 用户发起关机指令以后 发起关机指令的程序会通知Windows子系统CSRSS EXE CSR
  • 提高ChatGPT稳定性:告别GPT网页登录使用PC软件进入GPT

    一 GPT时不时断线 在日常生活中 我们经常需要使用智能语言模型来辅助我们完成各种任务 而ChatGPT作为一款非常优秀的智能语言模型 被广泛应用于各个领域 然而 使用ChatGPT的过程中 我们不可避免地会遇到一个非常让人头疼的问题 Ch
  • javaee之黑马乐优商城4

    商品规格与数据结构 下面来说一下数据库的设计与分析 其实对于spu这张表来说 大体设计还是比较好设计的 看一下下面这张图是一个产品的规格参数 上面主体就是一个规格参数 基本信息又是一个规格参数 这里就是涉及到了一个商品的具体信息 sku就是
  • Android 中的CreatePackageContext()

    Return a new Context object for the given application name This Context is the same as what the named application gets w
  • 分享一个OJ平台——浙江工商大学的OJ平台

    1 引言 最近是有总喜欢讨论算法题 因为他们在准备考研复试 为什么我不准备呢 这是一个悲伤的故事 刚好自己也有面试遇到只能使用C和C 的代码题 他们说这OJ平台相对简单一些 那些刷不来LeetCode可以试试这个 作为入门算法的跳板 体验体