做商城网站需要多少钱镇江网站建设推广
做商城网站需要多少钱,镇江网站建设推广,佛山建站模板,用照片做模板下载网站#x1f308;个人主页#xff1a;聆风吟 #x1f525;系列专栏#xff1a;数据结构、剑指offer每日一练 #x1f516;少年有梦不应止于心动#xff0c;更要付诸行动。 文章目录 一. ⛳️训练计划VI#xff08;题目难度#xff1a;中等#xff09;1.1 题目1.2 示例1.3 … 个人主页聆风吟 系列专栏数据结构、剑指offer每日一练 少年有梦不应止于心动更要付诸行动。 文章目录 一. ⛳️训练计划VI题目难度中等1.1 题目1.2 示例1.3 限制1.4 解题思路1.5 c代码 二. ⛳️撞色搭配题目难度中等2.1 题目2.2 示例2.3 限制2.4 解题思路2.5 c代码 全文总结 一. ⛳️训练计划VI题目难度中等
⌈ 在线OJ链接,可以转至此处自行练习 ⌋
1.1 题目
教学过程中教练示范一次学员跟做三次。该过程被混乱剪辑后记录于数组 actions其中 actions[i] 表示做出该动作的人员编号。请返回教练的编号。
1.2 示例 输入 actions [5, 7, 5, 5] 输出 7 1.3 限制
1 actions.length 100001 actions[i] 2^31
1.4 解题思路
使用 与运算 我们可以获取数字num二进制位的最右边的一位。 配合 右移操作 我们可以从低位到高位依次获取num的每一位二进制的值。建立一个长度位32的数组使用上面方法存放所有数字各二进制 1 出现的次数之和。 将 count 各元素对 3 求余则结果为 “只出现一次的数字” 的各二进制位。 利用 左移 和 或运算可将数组中的二进制位恢复到数字ret上然后返回ret即可。
1.5 c代码
class Solution {
public:int trainingPlan(vectorint actions) {int count[32] { 0 };//用来记录所有数字各二进制 1 出现的次数之和//开始统计所有数字各二进制 1 出现的次数之和for(int i 0; i actions.size(); i){for(int j 0; j 32; j){count[j] (actions[i] j) 1;}}int ret 0;//记录只出现一次的数字int m 3;//将数组中的二进制位恢复到数字ret上for(int i 31; i 0; i--){ret 1;ret | count[i] % m;}return ret;}
};二. ⛳️撞色搭配题目难度中等
⌈ 在线OJ链接,可以转至此处自行练习 ⌋
2.1 题目
整数数组 sockets 记录了一个袜子礼盒的颜色分布情况其中 sockets[i] 表示该袜子的颜色编号。礼盒中除了一款撞色搭配的袜子每种颜色的袜子均有两只。请设计一个程序在时间复杂度 O(n)空间复杂度O(1) 内找到这双撞色搭配袜子的两个颜色编号。
2.2 示例 输入 sockets [4, 5, 2, 4, 6, 6] 输出 [2,5] 或 [5,2] 2.3 限制
2 sockets.length 10000
2.4 解题思路 拓展知识 异或运算有个重要的性质就是两个相同的值异或结果为0即对任意整数 a 有 a ⊕ a 0。并且异或运算满足交换律 a ⊕ b b ⊕ a。 首先让sockets中的所有元素进行异或并将结果赋给sum。 根据异或运算定义若整数 x⊕y 某位二进制位为 1 则 x 和 y 的此二进制位一定不同。 因此我们可以通过与运算从右向左循环判断获取整数 x⊕y 首位为 1 的位置 将其记录于 m 中。 将数组sockets中所有元素二进制均右移m位并1判断数字是否相同即可将数组 sockets 拆分为分别包含 5 和 2 的两个子数组分别对两个子数组进行异或即可得出结果。
2.5 c代码
class Solution {
public:vectorint sockCollocation(vectorint sockets) {int sum 0;//sockets中的所有元素进行异或并将结果赋给sumfor(int i 0; i sockets.size(); i){sum ^ sockets[i];}int pos 0;//记录sum二进制位最右边一个 1 的位数for(int i 0; i 32; i){if((sumi) 1){pos i;break;}}//将拆分子数组让子数组进行异或求出说需要的值。int x 0;int y 0;for(int i 0; i sockets.size(); i){if((sockets[i] pos) 1)x ^ sockets[i];elsey ^ sockets[i];}return {x, y};}
};全文总结
本文主要讲解 今天的干货分享到这里就结束啦如果觉得文章还可以的话希望能给个三连支持一下聆风吟的主页还有很多有趣的文章欢迎小伙伴们前去点评您的支持就是作者前进的最大动力
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/90034.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!