【知识碎片】2024_05_11

本篇记录了两个代码,【图片整理】是一个数组排序题,【寻找数组的中心下标】看起来很适合用双指针,但是细节多,最后还是没通过全部用例,看了题解写出来的。 C语言部分是两个知道错了之后恍然大悟的选择题。


每日代码


图片整理

图片整理_牛客题霸_牛客网

将一个数组排序(数字大小写字母)

#include <stdio.h>
#include <string.h>

int main() {
    //输入
    char arr[1025] = {0};
    scanf("%s",arr);
    int length = strlen(arr);
    //利用冒泡对数组排序
    for(int i = 0; i < length - 1; i++)
    {
        for(int j = i + 1; j < length; j++)
        {
            if(arr[j] < arr[i])
            {
                int temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }

        }
    }
    //输出
    printf("%s\n",arr);
    return 0;
}

寻找数组的中心下标

. - 力扣(LeetCode) 

int pivotIndex(int* nums, int numsSize) {
    //记录整个数组和
    int total_sum = 0;
    for(int i = 0; i < numsSize; i++)
    {
        total_sum += nums[i];
    }
    //sum用于记录除当前元素外左半部分的和
    int sum = 0;
    for(int i = 0; i < numsSize; ++i)
    {
        //符合题目条件直接返回
        if(2*sum + nums[i] == total_sum) return i;
        //不符合继续把当前值记录到sum
        sum += nums[i];
    }
    return -1;
}

!!!以下是我的只能过部分测试用例的错误代码

pivotIndex(int* nums, int numsSize) {

    //定义双指针

    int left = 0, right = numsSize - 1;

    int sum_left = 0, sum_right = 0;

    while(left < right - 1)

    {

        if(sum_left < sum_right)

        {

            sum_left += nums[left];

            ++left;

        }

        else

        {

            sum_right += nums[right];

            --right;

        }

    }

    //此时,左右指针相邻,比较最后一个数

    if(sum_left < sum_right)

    {

        sum_left += nums[left];

        if(sum_left == sum_right) return right;

    }

    else

    {

        sum_right += nums[right];

        if(sum_left == sum_right) return left;

    }

    return -1;

}

一看见这题我就想到双指针,但是漏洞有很多,只能通过小一办的测试用例,如果是负数怎么办?如果最右边的值就是需要返回的值怎么办(因为先对sum_right加入元素)?...但我觉得这肯定也是一种方法,一定是我的思路还是有问题。


C语言碎片知识


以下对C语言函数的有关描述中,正确的有【多选】( )
A: 在C语言中,一个函数一般由两个部分组成,它们是函数首部和函数体
B: 函数的实参和形参可以是相同的名字
C: 在main()中定义的变量都可以在其它被调函数中直接使用
D: 在C程序中,函数调用不能出现在表达式语句中

答案:AB (我还选了个C,作孽啊)


在上下文及头文件均正常的情况下,下列代码的输出是( )(注: print 已经声明过)

int main()
{
    char str[] = "Geneius";
    print(str);
    return 0;
}
print(char *s)
{
    if(*s)
    {
        print(++s);
        printf("%c", *s);
    }
}

A: suiene B: neius C: run-time error D: suieneG

答案:A 

用了递归调用,能看出来是倒序输出,但是用的是前置++,第一个字母活不到printf。


-The End-

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/615505.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

1053: 输出利用先序遍历创建的二叉树中的指定结点的度

解法&#xff1a; c语言 #include<iostream> #include<vector> using namespace std; typedef struct tNodes{char val;tNodes* left, * right; }* tNode;void creat(tNode& t) {char ch;cin >> ch;if (ch #) t NULL;else {t new tNodes;t->val …

最少数量线段覆盖-华为OD

系列文章目录 文章目录 系列文章目录前言一、题目描述二、输入描述三、输出描述四、java代码五、测试用例 前言 本人最近再练习算法&#xff0c;所以会发布一些解题思路&#xff0c;希望大家多指教 一、题目描述 给定坐标轴上的一组线段&#xff0c;线段的起点和终点均为整数…

完整性验证器:迈向 Starknet 超高可扩展性的一大步

原文&#xff1a;https://www.starknet.io/en/content/the-integrity-verifier-a-leap-toward-starknet-hyperscaling&#xff1b;https://www.starknet.io/en/ecosystem/grant 编译&#xff1a;TinTinLand 核心观点 由 Herodotus 开发的完整性验证器&#xff0c;使开发者能够…

代码随想录算法训练营第六十三天| LeetCode84. 柱状图中最大的矩形

一、LeetCode 84. 柱状图中最大的矩形 题目链接/文章讲解/代码讲解&#xff1a;https://programmercarl.com/0084.%E6%9F%B1%E7%8A%B6%E5%9B%BE%E4%B8%AD%E6%9C%80%E5%A4%A7%E7%9A%84%E7%9F%A9%E5%BD%A2.html 状态&#xff1a;已解决 1.思路 这道题跟上道接雨水的题基本上是反…

【MySQL】锁

锁 全局锁 全局锁&#xff1a;对整个数据库实例加锁&#xff0c;加锁后整个实例就处于只读状态&#xff0c;其他语句都将被阻塞。 使用场景是&#xff1a;全库的逻辑备份 语法&#xff1a; 1、加全局锁 flush tables with read lock ;2、数据备份 mysqldump -uroot –pr…

【Web后端】web后端开发简介_Servlet简介

1.web后端开发简介 Java企业级开发&#xff0c;也就是学习]avaEE(Enterprise Edition)版本,是一种结构和一套标准。在应用中开发的标准就是Servlet、jsp和JavaBean技术。jsp技术现在已基本处于淘汰状态&#xff0c;简单了解即可web后端开发&#xff0c;基于B/S模式的开发体系。…

系分-历年论文题目

年份试题一试题二试题三试题四2023年信息系统数据转换与迁移敏捷开发方法论Devops及其应用论信息系统可行性分析2022年论原型法及其在信息系统开发中的应用论面向对象设计方法及其应用2021年论面向对象的信息系统分析方法论静态测试方法及其应用论富互联网应用的客户端开发技术…

13、FreeRTOS 事件标志组

文章目录 一、事件组(event group)的特性1.1 什么是事件标注组1.2 事件标注组的场景1.3 事件组的概念1.4 事件组的操作 二、事件组API2.1 创建2.2 删除2.3 设置事件2.4 等待事件2.5 同步点 一、事件组(event group)的特性 1.1 什么是事件标注组 事件标志位&#xff1a;表明某…

2024kali linux上安装java8

1 kali下载Java 8安装包 访问Oracle官网或其他可信的Java下载站点&#xff0c;如华为云的开源镜像站&#xff08;例如&#xff1a;https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz&#xff09;。 确保下载的是与你的Kali Linux系统架构&#xf…

Collection工具类

Collection工具类的介绍 Collection 是一个操作Set、List和Map等集合的工具类Collection中提供了一些列静态的方法对集合元素进行排序、查询和修改的等操作 Collection的排序操作&#xff08;均为Static方法&#xff09; 1&#xff0c;reverse&#xff08;List&#xff09;&…

刷t2、、、

、、 public class ThisTest {public static void main(String args[]) {int i;for (;;) {System.out.println(1);}} } while()的循环条件等于for中循环条件。循环体会有一个条件改变等于for中类似自增条件。while()判断条件一般在while前面会初始化跟for中初始化一样。这样 w…

Linux入门攻坚——23、DNS和BIND基础入门1

DNS——Domain Name Service&#xff0c;协议&#xff08;C/S&#xff0c;53/udp&#xff0c;53/tcp&#xff09; BIND——Berkeley Internet Name Domain&#xff0c;ISC&#xff08;www.isc.org&#xff09; 互联网络上主机之间的通信依靠的是IP&#xff0c;而人或程序一般使…

GT2512-STBA 三菱触摸屏12.1寸型

T2512-STBA参数说明&#xff1a;12.1"、SVGA 800*600、65536色、TFT彩色液晶显示屏、AC电源、32MB内存 三菱触摸屏GT2512-STBA性能规格详细说明&#xff1a; [显示部] 显示软元件&#xff1a;TFT彩色液晶显示屏 画面尺寸&#xff1a;12.1寸 分辨率&#xff1a;SVGA 80…

Windows10环境搭建http服务器

我 的 个 人 主 页&#xff1a;&#x1f449;&#x1f449; 失心疯的个人主页 &#x1f448;&#x1f448; 入 门 教 程 推 荐 &#xff1a;&#x1f449;&#x1f449; Python零基础入门教程合集 &#x1f448;&#x1f448; 虚 拟 环 境 搭 建 &#xff1a;&#x1f449;&…

连锁收银系统的五大功能

连锁收银系统是零售行业中不可或缺的工具&#xff0c;它为连锁店铺提供了必要的管理和运营支持。一个完善的连锁收银系统应当具备以下五大功能&#xff0c;以满足不断发展的零售业务需求。 1. 进销存管理 进销存管理是连锁店铺运营的核心&#xff0c;也是连锁收银系统不可或缺…

每日两题 / 101. 对称二叉树 230. 二叉搜索树中第K小的元素(LeetCode热题100)

101. 对称二叉树 - 力扣&#xff08;LeetCode&#xff09; 用两个指针同时遍历树的左右子树即可 每次遍历时&#xff0c;一个指针向左&#xff0c;另一个就要向右。一个向右&#xff0c;另一个就要向左 /*** Definition for a binary tree node.* struct TreeNode {* in…

生信人写程序1. Perl语言模板及配置

生物信息领域常用语言 个人认为&#xff1a;是否能熟悉使用Shell(项目流程搭建)R(数据统计与可视化)Perl/Python/Java…(胶水语言&#xff0c;数据格式转换&#xff0c;软件间衔接)三门语言是一位合格生物信息工程师的标准。 生物信息常用语言非常广泛&#xff0c;我常用的有…

【C++】学习笔记——模板进阶

文章目录 十一、模板进阶1. 非类型模板参数2. 按需实例化3. 模板的特化类模板的特化 4. 模板的分离编译 未完待续 十一、模板进阶 1. 非类型模板参数 模板参数分为类型形参和非类型形参 。类型形参即&#xff1a;出现在模板参数列表中&#xff0c;跟在class或者typename之类的…

经典权限五张表功能实现

文章目录 用户模块(未使用框架)查询功能实现步骤代码 新增功能实现步骤代码 修改功能实现步骤代码实现 删除功能实现步骤代码实现 用户模块会了&#xff0c;其他两个模块与其类似 用户模块(未使用框架) 查询功能 这里将模糊查询和分页查询写在一起 实现步骤 前端&#xff1…

泵站远程监控

在科技日新月异的今天&#xff0c;智能化管理已经成为各行业提升效率、降低成本的关键手段。特别是在水利领域&#xff0c;泵站作为水资源调配的重要节点&#xff0c;其运行效率和安全稳定性直接关系到整个供水系统的稳定。HiWoo Cloud平台凭借其强大的物联网和云计算技术&…