LeetCode_单周赛_329
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[]>() {
@Override
public 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");
}
}
LeetCode_单周赛_329的更多相关文章
- 算法5: LeetCode_单链表_两数相加
题目: * 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. * 请你将两个数相加,并以相同形式返回一个表示和的链表. * 你可 ...
- Leetcode 第133场周赛解题报告
今天参加了leetcode的周赛,算法比赛,要求速度比较快.有思路就立马启动,不会纠结是否有更好的方法或代码可读性.只要在算法复杂度数量级内,基本上是怎么实现快速就怎么来了. 比赛时先看的第二题,一看 ...
- 【Leetcode周赛】从contest-111开始。(一般是10个contest写一篇文章)
Contest 111 (题号941-944)(2019年1月19日,补充题解,主要是943题) 链接:https://leetcode.com/contest/weekly-contest-111 ...
- H5单页面手势滑屏切换原理
H5单页面手势滑屏切换是采用HTML5 触摸事件(Touch) 和 CSS3动画(Transform,Transition)来实现的,效果图如下所示,本文简单说一下其实现原理和主要思路. 1.实现原理 ...
- 快速构建H5单页面切换骨架
在Web App和Hybrid App横行的时代,为了拥有更好的用户体验,单页面应用顺势而生,单页面应用简称`SPA`,即Single Page Application,就是只有一个HTML页面的应用 ...
- ASP.NET Aries 入门开发教程9:业务表单的开发
前言: 经过前面那么多篇的列表的介绍,终于到了大伙期待的表单开发了. 也是本系列的最后一篇文章了! 1:表单页面的权限设置与继承 对于表单页面,权限的设置有两种: 1:你可以选择添加菜单(设置为不显示 ...
- 【CSS进阶】伪元素的妙用--单标签之美
最近在研读 <CSS SECRET>(CSS揭秘)这本大作,对 CSS 有了更深层次的理解,折腾了下面这个项目: CSS3奇思妙想 -- Demo (请用 Chrome 浏览器打开,非常值 ...
- bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序
也许单页程序(Single Page Application)并不是什么时髦的玩意,像Gmail在很早之前就已经在使用这种模式.通常的说法是它通过避免页面刷新大大提高了网站的响应性,像操作桌面应用程序 ...
- 探索ASP.NET MVC5系列之~~~3.视图篇(下)---包含常用表单和暴力解猜防御
其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...
- SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...
随机推荐
- Spring Boot框架下实现Excel服务端导入导出
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.今天 ...
- Armv8之Execution State 和 Exception Level(一)
@ 目录 1. 典型的Exception Level使用模型 2.异常相关术语 3. Execution State 3.1 两种Execution State 3.2 决定Execution Sta ...
- kubernetes笔记-2-基本操作
一.kubectl的基本操作 语法: kubectl [command] [type] [name] [flags] 语法说明: command:对资源执行相应操作的子命令,如:get.cre ...
- AR手势识别交互,让应用更加“得心应手”
现如今, AR技术不断发展,人们不再满足于运用键盘.鼠标等简单器械来实现传统的人机交互模式.随着用户接触机器的多样化,繁琐的操作不但对一些用户有门槛,而且还增加其学习成本:如果能用自然且符合日常生活习 ...
- C温故补缺(十一):文件读写
文件读写 打开文件 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件 FILE *fopen( const char *filename, const char *mode ); fil ...
- 解决Qt5 mouseMoveEvent事件不能直接触发
问题描述 mouseMoveEvent 需要鼠标点击(左右中),然后在按下的同时移动鼠标才会触发 mouseMoveEvent事件函数. 解决 setMouseTracking(true);
- oracle 分析函数——ration_to_report 求占有率(百分比)
oracle 的分析函数有很多,但是这个函数总是会忘记,我想通过这种方式能让自己记起来,不至于下次还要百度. 创表.表数据(平时练手的表): prompt PL/SQL Developer impor ...
- Oracle 插入时间戳id函数func_getnewid()
在Oracle数据库中出入以时间戳为id的最简单方法运用func_getnewid()函数: select func_getnewid(30) from dual; id长度可调
- day20 关联查询与多表联查 & 子查询与union联合查询 & 数据库定义语言DDL
day20 关联查询 #左连接:表名 left join 表名 以左表为主表,只显示与左表能匹配的行 SELECT s.*,q.* FROM student AS s LEFT JOIN queue_ ...
- 【每日一题】【位于index后的双指针&排序数组】15. 三数之和/NC54 数组中相加和为0的三元组-211117/220206
给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组. 注意:答案中不可以包含重复的三 ...