日拱一卒,月进一步(13)

devtools/2024/10/19 3:23:14/

500. 键盘行 - 力扣(LeetCode)

好难啊!!!

/*** Note: The returned array must be malloced, assume caller calls free().*/
char** findWords(char** words, int wordsSize, int* returnSize){int map[26]={2,3,3,2,1,2,2,2,1,2,2,2,3,3,1,1,1,1,2,1,1,3,1,3,1,3};char**ret=(char**)malloc(sizeof(char*)*0);//初始化一个指向指针的指针,用来储存满足条件的单词的指针*returnSize=0;//遍历单词列表,检查该单词的所有字母是否在同一行,使用flag变量来储存第一个字母的行号,并比较后续子母的行号与其是否相同,如果不相同,则中断内部循环for(int i = 0; i < wordsSize; i++){int j;//用于遍历单词中的每个字符int flag;//用于储存第一个字母的行号for(j = 0; j < strlen(words[i]); j++){int temp;//用于临时储存当前字母所在的行号if(words[i][j] >= 'A' && words[i][j] <= 'Z')//如果是大写字母{temp = map[words[i][j] - 'A'];//计算当前字母在map数组中的索引,并获取其行号if(j == 0){//如果是第一个字母,设置其为flagflag = temp;}}else{temp=map[words[i][j]-'a'];if(j==0){flag=temp;}}if(flag!=temp){break;}}if(j==strlen(words[i])){(*returnSize)++;//重新分配单词的空间,以便存储新的单词指针ret=(char**)realloc(ret,(*returnSize)*sizeof(char*));//将当前单词的指针ret[(*returnSize)-1]=words[i];}}return ret;
}

506. 相对名次 - 力扣(LeetCode)

/*** Note: The returned array must be malloced, assume caller calls free().*/
int cmp(const void* a, const void* b) { return *(*int)a - *(*int)b; }
char** findRelativeRanks(int* score, int scoreSize, int* returnSize) {char** ret =(char**)malloc(scoreSize * sizeof(char*)); // 用于存储每个选手的相对名次(*returnSize) = scoreSize;for (int i = 0; i < scoreSize; i++) {ret[i] = (char*)malloc(sizeof(char) *13); // 为 ret// 数组中的每个元素分配足够的空间来存储一个字符串(包括末尾的空字符)。这里分配了13个字符的空间,因为考虑到最大可能的排名(例如// "123st")和奖牌名称("Gold Medal")}int* temp = (int*)malloc(sizeof(int) * scoreSize);memcpy(temo, score,sizeof(int) *scoreSize); // 分配一个整数数组 temp 并复制 score 数组的内容到// temp,以便在不改变原始数组的情况下进行排序qsort(temp, scoreSize, sizeof(int), cmp);// 用于查找每个分数在排序后的 temp 数组中的位置,并为其分配相应的排名。for (int i = 0; i < scoreSize; i++) {for (int j = 0; j < scoreSize; j++) {if (score[i] == temp[j]) {if (j == scoreSize - 1) {sprintf(ret[i], "%s", "Gold Medal");} else if (j == scoreSize - 2) {sprintf(ret[i], "%s", "Silver Medal");} else if (j == scoreSize - 3) {sprintf(ret[i], "%s", "Bronze Medal");} else {sprintf(ret[i], "%d", scoreSize - j);}}return ret;}


http://www.ppmy.cn/devtools/35851.html

相关文章

Matlab 手写板设计

写字板 1、介绍 MATLAB手写板可以作为一个很好的数据输入口&#xff0c;其可以获取该手写板上任意字母、数字&#xff0c;甚至可以制作样本数据。具体用途体现在如下几方面&#xff1a; 数学公式输入&#xff1a;手写板允许用户直接用手写方式输入复杂的数学公式&#xff0c;这…

机器人系统ros2-开发实践05-将静态坐标系广播到 tf2(Python)-定义机器人底座与其传感器或非移动部件之间的关系

发布静态变换对于定义机器人底座与其传感器或非移动部件之间的关系非常有用。例如&#xff0c;最容易推断激光扫描仪中心框架中的激光扫描测量结果。 1. 创建包 首先&#xff0c;我们将创建一个用于本教程和后续教程的包。调用的包learning_tf2_py将依赖于geometry_msgs、pyth…

go语言并发实战——日志收集系统(十一)基于etcd来监视配置文件的变化

前言 在我们实际生产中&#xff0c;我们常常因为新的项目或者新的功能进而要对配置文件进行修改,但是在生产环境下我们不是每次配置文件发生变化都重启一次系统&#xff0c;这无疑是不切实际的&#xff0c;所以我们需要对配置文件进行实时监控,而今天我们所要展示的也就是如何…

2024年03月 Scratch 图形化(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch图形化等级考试(1~4级)全部真题・点这里 一、单选题(共10题,共30分) 第1题 圆点角色的程序如下图1所示(角色默认方向90),运行程序,输入“HLHLHLHL”后得到的结果如下图2所示,如果想得到下图3中的结果,应该输入的字符串是?( ) A:HLLLHLLL B:LLLLLLL…

测试环境搭建:JDK+Tomcat+Mysql+Redis

基础的测试环境搭建&#xff1a; LAMPLinux(CentOS、ubuntu、redhat)ApacheMysqlPHP LTMJLinux(CentOS、ubuntu、redhat)TomcatMysql(Oracle)RedisJava 真实的测试环境搭建&#xff1a;&#xff08;企业真实的运维&#xff09; 基于SpringBoot&#xff08;SpringCloud分布式微…

git使用注意事项事项

以下操作均在gitee平台上实现 文章目录 1、本地仓库和远程仓库有冲突2、git提交自动忽略某些文件3、git无法push提交到远程仓库 1、本地仓库和远程仓库有冲突 在web端修改了文件内容或者删除了文件&#xff0c;本地仓库需要重新把远程仓库拉取到本地&#xff0c;或者强制提交到…

sqlalchemy 分表实现方案

1.需求及场景概述 现有系统中因历史数据量过大&#xff0c;产生了将历史数据进行按月存储的要求&#xff0c;系统和数据库交互使用的是sqlalchemy&#xff0c;假设系统的原来的历史记录表&#xff08;record&#xff09;如下&#xff1a; 为了将历史数据按月分表存储&#xff0…

社区养老服务|基于Springboot+vue的社区养老服务平台设计与实现(源码+数据库+文档)

社区养老服务平台 目录 基于Java的社区养老服务平台设计与实现 一、前言 二、系统设计 三、系统功能设计 1用户信息管理 2 服务信息管理 3服务申请管理 4公告信息管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#…