首页 > 编程语言 >算法刷题-回文数、找出小于平均值的数、旋转图像(C/C++)

算法刷题-回文数、找出小于平均值的数、旋转图像(C/C++)

时间:2023-02-10 19:34:53浏览次数:56  
标签:matrix 示例 int C++ 刷题 回文 输入 size

回文数

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。

示例 1:

输入:x = 121
输出:true

示例 2:

输入:x = -121
输出:false
解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:

输入:x = 10
输出:false
解释:从右向左读, 为 01 。因此它不是一个回文数。

示例 4:

输入:x = -101
输出:false

提示:

  • -231 <= x <= 231 - 1
bool isPalindrome(int x)
{
    if (x < 0)
        return false;
    char r[11];
    int n = snprintf(r, 11, "%d", x);
    int i;
    for (i = 0; i < n / 2; i++)
    {
        if (r[i] != r[n - i - 1])
            return false;
    }
    return true;
}

找出小于平均值的数

从键盘输入一个正整数存入变量n中,再输入n个整数,然后找出所有小于平均值的数,并按输入顺序输出。 以下程序实现了这一功能,请你补全空白处内容:

#include <stdio.h>
int main()
{
    int i, n, sum = 0, a[100];
    float ave;
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        scanf("%d", &a[i]);
        sum += a[i];
    }
    ave = sum * 1.0 / n;
    for (i = 0; i < n; i++)
    {
        __________________;
    }
    return 0;
}
if (a[i] < ave)
	printf("%d", a[i]);

旋转图像

给定一个 _n _× n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在** 原地(https://baike.baidu.com/item/%E5%8E%9F%E5%9C%B0%E7%AE%97%E6%B3%95)** 旋转图像,这意味着你需要直接修改输入的二维矩阵。**请不要 **使用另一个矩阵来旋转图像。

示例 1:

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

示例 2:

输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
输出:[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]

示例 3:

输入:matrix = [[1]]
输出:[[1]]

示例 4:

输入:matrix = [[1,2],[3,4]]
输出:[[3,1],[4,2]]

提示:

  • matrix.length == n
  • matrix[i].length == n
  • 1 <= n <= 20
  • -1000 <= matrix[i][j] <= 1000

以下程序实现了这一功能,请你填补空白处内容:

#include <bits/stdc++.h>
using namespace std;
class Solution
{
public:
	void rotate(vector<vector<int>> &matrix)
	{
		int size = matrix.size();
		for (int i = 0; i < size / 2; i++)
		{
			int low = i, high = size - i - 1;
			for (int j = low; j < high; j++)
			{
				int tmp = matrix[i][j];
				_________________________;
			}
		}
	}
};

答案:

matrix[i][j] = matrix[size - 1 - j][i];
matrix[size - 1 - j][i] = matrix[size - 1 - i][size - 1 - j];
matrix[size - 1 - i][size - 1 - j] = matrix[j][size - 1 - i];
matrix[j][size - 1 - i] = tmp;

本文内容到此结束了, 如有收获欢迎点赞

标签:matrix,示例,int,C++,刷题,回文,输入,size
From: https://blog.51cto.com/zhanjq/6049702

相关文章

  • 【C++复习】第六章 数组、指针、字符串
    1、数组1.1基本数组数组声明inta[10];声明时方括号内是元素个数。下标从0开始。第一个元素是a[0],最后一个元素是a[9]a[n]表示的是第n+1个元素二维数组intb[3]......
  • C++ 机试题1
    #include<iostream>usingnamespacestd;intchazhao(intsum,stringsum1){if(sum1=="a"||sum1=="d"||sum1=="g"||sum1=="j"||sum1=="m"||sum1=="p"|......
  • 001:C++基础知识
    1:***C++是一种高级语言,C++进一步扩充和完善了C语言,是一种面向对象的程序设计语言。  C++可运行于多种平台上,如Windows、MAC操作系统以及UNIX的各种版本。......
  • Linux下C/C++程序CPU问题分析及优化心得
    一、前言程序的CPU问题是另外一类典型的程序性能问题,很多开发人员都受到过程序CPU占用过高的困扰。本文首先探讨了CPU占用率的排查方法,其次针对一些典型的CPU问题进行分析......
  • C++实现uft8和gbk编码字符串互相转换
    #include<iostream>#include<stdlib.h>#include<string.h>#include<string>#ifdef_WIN32#include<Windows.h>#else#include<iconv.h>#endif#ifdef_W......
  • 【c&c++】C语言:fgets和fgetc函数读取文件
    C语言:fgets和fgetc函数读取文件1、fgetc是filegetchar的缩写,意思是从指定的文件中读取一个字符。fgetc()readsthenextcharacterfromstreamandreturns......
  • 【c&c++】 C语言:access函数的使用
    一、access()函数用来判断用户是否具有访问某个文件的权限(或判断某个文件是否存在).二、需要包含#include<unistd.h>三、参数和返回值intaccess(constchar*path......
  • 【c&c++】C语言实现判断大端小端存储方式的代码
    一、大小端简介大小端是计算机存储的两种方式。小端表示法(Little-endian):所谓的小端模式,是指数据的高位保存在内存的高地址中,而数据的低位保存在内存的低地址中,这种存储......
  • Modern C++ ——constexpr的各种用法
    ModernC++——constexpr的用法Reference《现代C++语言核心特性解析》为什么引入constexprconst可以定义常量,但也可以用来定义只读变量。const变量的值不一定是在......
  • c++指针基础
    指针是一个变量,其存储的是值的地址,而不是值本身。如何找到常规变量的地址?只需对变量应用地址运算符(&),就可以获得它的位置;intdonuts=3;&donuts就是取donuts变量的地址。......