LeetCode_单周赛_329

news/2024/11/20 0:41:32/

2544. 交替数字和

在这里插入图片描述

代码1

转成字符串,逐个判断

class Solution {public int alternateDigitSum(int n) {char[] s = ("" + n).toCharArray();int t = 1;int ans = 0;for (int i = 0; i < s.length; i++) {ans += (s[i] - '0') * t;t = -t;}return ans;}
}

代码2

一次遍历,不使用额外空间
% 可以取出来末位的数字,进行逐个运算,但是题目要求是从高位开始算,我们就设最后一位是 + 号。

如果是奇数位,结果完全一样,循环结束后sign为 -1,乘 -sign = 1,依然是正确结果
如果是偶数位,符号相反了,最后一位是 - 号,ans+之后sign变成相反数+,我们把结果再乘 -sign 即可得到正确结果

class Solution {public int alternateDigitSum(int n) {int ans = 0, sign = 1;while (n > 0) {ans += (n % 10) * sign;n /= 10;sign = -sign;}return ans *= -sign;}
}

2545. 根据第 K 场考试的分数排序

在这里插入图片描述

代码1

题目花里胡哨的,其实就是一个二维数组排序,按照第 k 列从大到小排序
使用ArrayList,存储每一行,然后对List排序

class Solution {public int[][] sortTheStudents(int[][] score, int k) {ArrayList<int[]> a = new ArrayList<>();for (int i = 0; i < score.length; i++) a.add(score[i]);a.sort(new Comparator<int[]>() {@Overridepublic int compare(int[] o1, int[] o2) {return -(o1[k] - o2[k]);}});for (int i = 0; i < score.length; i++) score[i] = a.get(i);return score;}
}

代码2

lambda函数排序

class Solution {public int[][] sortTheStudents(int[][] score, int k) {Arrays.sort(score, (a, b) -> b[k] - a[k]);return score;}   
}

2546. 执行逐位运算使字符串相等

在这里插入图片描述

代码

看题意:
00 变成 00
10 变成 11
01 变成 11
11 变成 10

可以得到,要想有变化,一定要有 1,1可能会减少,但是一定不会减少到 0。
只要 s 中有 1,t 中一定有 1
或者两个都是由 0

class Solution {public boolean makeStringsEqual(String s, String target) {return s.contains("1") == target.contains("1");}
}

http://www.ppmy.cn/news/18811.html

相关文章

react用高阶组件优化文件结构 帮助建立高阶组件应用思路

其实高阶组件是一个将组件写的更灵活的方式&#xff0c;他的应用场景在业务开发中会非常多样 这里 我们演示一种 主要还是解决问题的思想最重要 或者是 这个不叫解决问题 而是设计组件结构的思路 我们来模拟一个场景 在src下有一个 components 文件夹目录 在 components 下有…

C++编译之(1)-g++单/多文件/库的编译及C标准的发展历程

g编译入门 本文为您介绍g的编译用法&#xff1b;通过从最简单的单文件编译&#xff0c;到多文件编译&#xff0c;再到动态库、静态库的编译及使用&#xff1b; 例子都经过实际编译并运行&#xff0c;可谓全网最良心之作呐&#xff0c;放心拷贝粘贴学习&#xff01; 1、g的编译单…

【3-神经网络八股】北京大学TensorFlow2.0

课程地址&#xff1a;【北京大学】Tensorflow2.0_哔哩哔哩_bilibiliPython3.7和TensorFlow2.1六讲&#xff1a;神经网络计算&#xff1a;神经网络的计算过程&#xff0c;搭建第一个神经网络模型神经网络优化&#xff1a;神经网络的优化方法&#xff0c;掌握学习率、激活函数、损…

【C++】从0到1入门C++编程学习笔记 - 核心编程篇:类和对象(上)

文章目录一、封装1.1 封装的意义1.2 struct和class区别1.3 成员属性设置为私有二、对象的初始化和清理2.1 构造函数和析构函数2.2 构造函数的分类及调用2.3 拷贝构造函数调用时机2.4 构造函数调用规则2.5 深拷贝与浅拷贝2.6 初始化列表2.7 类对象作为类成员2.8 静态成员三、C对…

深入理解Mysql底层数据结构

一. 索引的本质 索引是帮助MySQL高效获取数据的排好序的数据结构。 二. 索引的数据结构 二叉树红黑树Hash表BTreeBTree mysql的索引采用的是B树的结构 mysql为什么不用二叉树&#xff0c;因为对于单边增长的数据列&#xff0c;二叉树和全表扫描差不多&#xff0c;效率没有什…

国科大-高性能计算考试

考试比较难,课程比较繁琐. 高性能计算2022加粗样式考试 1. 启动MPI程序时系统生成的是1维程序 写出一个子程序或函数生成行和列通讯子 思路&#xff1a; 首先进行参数合法性的检查&#xff0c;然后将通信子对应的进程组进行划分&#xff0c;再将通信子对应的进程组进行列划分&…

grant之后要跟着flush privileges吗?

在 MySQL 里面,grant 语句是用来给用户赋权的。不知道你有没有见过一些操作文档里面提到,grant 之后要马上跟着执行一个 flush privileges 命令,才能使赋权语句生效。我最开始使用 MySQL 的时候,就是照着一个操作文档的说明按照这个顺序操作的。 那么,grant 之后真的需要…

Android蓝牙开发

前言 这是我大二做的一个智能小车配套使用的APP&#xff0c;用Android的蓝牙接口实现&#xff0c;当时有些os相关的内容Thread之类还有一些Android接口、java语法&#xff0c;我其实不是很理解。学了操作系统&#xff0c;再来回顾一下&#xff0c;并整理项目代码&#xff0c;项…