前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Go语言刷题篇】Go从0到入门5:Map综合复习、条件语句、循环语句练习

【Go语言刷题篇】Go从0到入门5:Map综合复习、条件语句、循环语句练习

作者头像
程序员洲洲
发布2024-06-07 11:14:18
960
发布2024-06-07 11:14:18
举报
文章被收录于专栏:项目文章项目文章

前言

  • 本期是学习Golang:Map综合复习、条件语句、循环语句练习,有不懂的地方可以评论进行讨论!
  • 本系列文章采用牛客的核心代码模式进行案例代码提供,帮助大家从0到入门的学习过程中进行配套的刷题~
  • 推荐给大家一款刷题、面试的神器,我也是用这一款神器进行学习的!~链接如下:刷题神器跳转链接
  • 该神器不仅网页界面十分美观,而且操作起来极易上手入门!非常适合新手进行系统性的学习!
  • 小白新手可以通过该神器进行日常的刷题、看大厂面经、学习计算机基础知识、与大牛面对面沟通~ 刷题的图片已经放在下面了~

Q1:Map-字符串构成

问题描述:给定两个字符串des 和src ,判断 des能不能由 src 里面的字符构成,//如果可以,返回 true ;否则返回 false,src中的每个字符只能在 des 中使用一次。

相关知识: 1、for range遍历字符串。 2、cnt[ch-‘a’]隐式转换byte转为int类型。 3、数组的索引可以充当一个map的key,来表示唯一。

示例输入:“ab”,“aab” 示例输出:true

案例代码: 思路:放一个 map 用来保存有哪些元素可以用 用一次-1即可。如果没有直接返回失败。

Q2:Map-不重复的数

问题描述:给定一个数组,找出数组中所有不重复的数字,并按照从小到大的顺序进行输出。

相关知识: 1、map用make方式进行初始化 2、切片可以用[]int{}的方式进行初始化 3、for range遍历切片 4、_,ok :=map[key]的方式判断m中的key是否存在 5、切片用append方式进行追加

示例输入:[1,1,2,2,3,3,4,4,5,5] 示例输出:[]

示例输入:[3,3,2,2,5,5,1,2,2] 示例输出:[1]

案例代码:

Q3:条件语句-年龄判定

问题描述:已知年龄的分段如下, 婴儿(出生0-1岁)、幼儿(1-4岁)包含1岁、儿童(5-11)包含5岁、少年(12-18)包含12岁、青年(19-35)包含19岁、中年(36-59)包含36岁、老年(60以上)包含60岁 ,输入一个人的年龄,返回相应的年龄段。

相关知识: 1、if 后面可以接任意数量的 else if 语句。condition 的求值由上到下依次进行,直到某个 if 或者 else if 中的 condition 为 true 时,执行相应的代码块。如果没有一个 conditon 为 true,则执行 else 中的代码块。

示例输入:35 示例输出:“青年”

案例代码:

Q4:条件语句-成绩判定

问题描述:根据成绩分数输出成绩等级,判定规则如下 分数低于60 算不及格,60-80 含60 为中等, 80-90含80 为良好,90分以上含90 为优秀。

相关知识: 1、switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。 Golang switch 分支表达式可以是任意类型,不限于常量。可省略 break,默认自动终止。 switch var1 { case val1: … case val2: … default: … }

示例输入:59 示例输出:“不及格”

案例代码:

Q5:循环语句-乘法口诀表

问题描述:打印9*9乘法口诀表。

相关知识: 1、golang中 for 循环中嵌套一个或多个 for 循环,代码格式如下: for [condition | ( init; condition; increment ) | Range] { for [condition | ( init; condition; increment ) | Range] { statement(s) } statement(s) } init: 一般为赋值表达式,给控制变量赋初值; condition: 关系表达式或逻辑表达式,循环控制条件; increment: 一般为赋值表达式,给控制变量增量或减量。 statement:循环语句 2、goalng中,fmt.printf 格式化打印 %d表示数字,-3d 表示左对齐,占 3 位 \n表示下一行。

示例输入: 示例输出:

案例代码:

Q6:循环语句-坐标转换

问题描述:已知一个mn二维数组,二维数组中的元素的索引(x,y)可以表示为一个二维坐标,现将这个二维坐标转换为一维坐标,一维坐标=xn+y。返回这个一维数组。

相关知识: 1、数组可以通过下标进行访问,下标是从0开始,最后一个元素下标是:len-1 for i := 0; i < len(a); i++ { } for index, v := range a { } 2、长度是数组类型的一部分,因此,var a[5] int和var a[10]int是不同的类型。 3、数组定义:var a [len]int,比如:var a [5]int,数组长度必须是常量,且是类型的组成部分。一旦定义,长度不能变。

示例输入:[[1,2,3],[4,5,6],[7,8,9]] 示例输出:[1,2,3,4,5,6,7,8,9]

案例代码:

后文:刷题神器

点击链接进行跳转注册,开始你的保姆级刷题之路吧!刷题打怪码神之路

另外这里不仅仅可以刷题,你想要的这里都会有,十分适合小白和初学者入门学习~ 1、算法篇(398题):面试必刷100题、算法入门、面试高频榜单 2、数据结构篇(300题):都是非常经典的链表、树、堆、栈、队列、动态规划等 3、语言篇(500题):C/C++、java、python入门算法练习 4、SQL篇(82题):快速入门、SQL必知必会、SQL进阶挑战、面试真题 5、大厂笔试真题:字节跳动、美团、百度、腾讯…掌握经验不在惧怕面试!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • Q1:Map-字符串构成
  • Q2:Map-不重复的数
  • Q3:条件语句-年龄判定
  • Q4:条件语句-成绩判定
  • Q5:循环语句-乘法口诀表
  • Q6:循环语句-坐标转换
  • 后文:刷题神器
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档