Java | Leetcode Java题解之第390题消除游戏

embedded/2024/10/21 7:53:31/

题目:

题解

class Solution {public int lastRemaining(int n) {int a1 = 1;int k = 0, cnt = n, step = 1;while (cnt > 1) {if (k % 2 == 0) { // 正向a1 = a1 + step;} else { // 反向a1 = (cnt % 2 == 0) ? a1 : a1 + step;}k++;cnt = cnt >> 1;step = step << 1;}return a1;}
}

http://www.ppmy.cn/embedded/108850.html

相关文章

关于HarmonyOS的学习

day23 一、DOM尺寸和位置 1.只能获取到内联style属性的CSS样式中的宽和高&#xff0c;如果有&#xff0c;获取;如果没有&#xff0c;则返回空 $(.box1).style.width $(.box1).style.height $.box1).style.backgroundColor 2.返回了元素大小&#xff0c;但没有单位&#xff0…

面试准备-6

NIO底层是用Selector、Channel和ByteBuffer来实现的。主线程在循环使用select方法进行阻塞等待&#xff0c;当有acceptable&#xff08;可连接&#xff09;、readable&#xff08;可读&#xff09;或者writable&#xff08;可写&#xff09;事件发生的时候&#xff0c;循环就会…

HomeAssistant添加HACS绑定米家与苹果HomeKit设备并实现远程管理

文章目录 前言1. 下载HACS源码2. 添加HACS商店3. 绑定米家设备 前言 之前介绍过如何实现在群晖NAS使用Docker部署HomeAssistant&#xff0c;通过内网穿透在户外控制家庭智能设备。本文将介绍如何在HA平台安装HACS插件商店&#xff0c;将米家&#xff0c;果家设备接入 Home Ass…

在JS中flat() 和 flatMap()使用讲解

flat() 和 flatMap() 是 JavaScript 中处理数组的两个方法&#xff0c;用于处理嵌套数组&#xff0c;但它们有不同的用途和效果。以下是它们的详细区别&#xff1a; 1. Array.prototype.flat() 功能&#xff1a;将嵌套的数组“拉平”成一维数组。 语法&#xff1a; array.fla…

[NISACTF 2022]easyssrf

打开题目所在的环境&#xff0c;发现是快照获取的工具&#xff0c;这里我尝试输入的是百度的网址&#xff0c;发现他会返回这个网站的一些基本信息 &#xff1a; 这个题目提示了ssrf&#xff0c;我们这里用file协议开始测试&#xff1a; file:///etc/password 发现返回的结果是…

自动驾驶ADAS算法--使用MATLBA和UE4生成测试视频

原文参考&#xff1a;金书世界 环境搭建参考&#xff1a;用MATLAB2020b和虚拟引擎&#xff08;Unreal Engine&#xff09;联合仿真输出AVM全景测试视频----Matlab环境搭建 matlab参考&#xff1a; https://ww2.mathworks.cn/help/driving/ug/simulate-a-simple-driving-sce…

Android之SharedPreferences(SP)

目录 概念使用1.获取 SharedPreferences 实例1.1 通过 Context 获取默认的 SharedPreferences 文件1.2 通过 Activity 获取默认的 SharedPreferences 文件1.3 通过 PreferenceManager 获取默认的 SharedPreferences 文件 2.存储数据3.读取数据4.删除数据5.监听数据变化 使用场景…

来聊聊C++中的vector

一.vector简介 vector是什么 C 中的 vector 是一种序列容器&#xff0c;它允许你在运行时动态地插入和删除元素。 vector 是基于数组的数据结构&#xff0c;但它可以自动管理内存&#xff0c;这意味着你不需要手动分配和释放内存。 与 C 数组相比&#xff0c;vector 具有更多的…