当前位置: 首页 > news >正文

面试经典150题(105-107)

leetcode 150道题 计划花两个月时候刷完之未完成后转,今天(第2天)完成了3道(105-107)150

105.(191. 位1的个数)题目描述:

编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。

第一版(还是位 遍历位 就行,还可以用 java api Integer.bitCount(n) )

public class Solution {// you need to treat n as an unsigned valuepublic int hammingWeight(int n) {int count=0;for(int i=0;i<32;i++){if((n&1)==1){count++;}n=n>>1;}return count;}
}

106.(136. 只出现一次的数字) 题目描述:

给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

第一版(这个题我印象深刻,异或 异或有交换律 并且 一样的数 异或后结果为 0)

class Solution {public int singleNumber(int[] nums) {int res=0;for(int num:nums){res^=num;}return res;}
}

第二版(是看了 107 题后去试了一下,真的是模板)

class Solution {public int singleNumber(int[] nums) {int res=0;for(int i=0;i<32;i++){int count=0;for(int num:nums){count+=(num>>i)&1;}if(count%2!=0){res|=(1<<i);}}return res;}
}

107.(137. 只出现一次的数字 II)题目描述:

给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。
你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。

第一版(模板来了。。感觉可以秒杀这一类题)

class Solution {public int singleNumber(int[] nums) {// 模板题,有数组 其他数字出现 n 次 其中有一个出现一次求这个数// 题目中其他数字出现次数int n=3;int res=0;for(int i=0;i<32;i++){int count=0;for(int num:nums){count+=(num>>i)&1;}// count 是 n 的倍数时候 表示 出现一次的这个数这一位(i 位)为0,//不是 倍数时候 表示出现一次的这个数这一位(i 位) 为 1if(count%n!=0){res|=(1<<i);}}return res;}
}

今天算是学了个这个 求其他数字出现相同多次 但是有一个出现一次的题型模板吧,收获不小!!!

http://www.lryc.cn/news/312972.html

相关文章:

  • javaWebssh药品进销存信息管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计
  • 计算机设计大赛 深度学习实现语义分割算法系统 - 机器视觉
  • Linux系统编程(六)高级IO
  • Python与FPGA——全局二值化
  • 《Docker极简教程》--Docker的高级特性--Docker Compose的使用
  • tidyverse去除表格中含有NA的行
  • 开源爬虫技术在金融行业市场分析中的应用与实战解析
  • 使用SMTP javamail发送邮件
  • Hello C++ (c++是什么/c++怎么学/c++推荐书籍)
  • 最新的前端开发技术(2024年)
  • GCN 翻译 - 2
  • HBase 的安装与部署
  • 236.二叉搜索树的公共祖先
  • 【论文精读】大语言模型融合知识图谱的问答系统研究
  • LabVIEW高精度天线自动测试系统
  • 7.3 支付模块 - 创建订单、查询订单、通知
  • 灵魂指针,教给(一)
  • Linux 开发工具 yum、git、gdb
  • Markdown
  • 【Oracle】oracle中sql给表新增字段并添加注释说明;mysql新增、修改字段
  • 【汇总】pytest简易教程
  • openssl调试记录
  • 3.7练习题解
  • MQ的消费模式-消息是推还是拉
  • 一个平台满足你对测试工具的所有需求
  • 【C语言】【字符串函数】【超详解】【上】!!!
  • 算法沉淀——动态规划之其它背包问题与卡特兰数(leetcode真题剖析)
  • selenium中ChromeDriver配置,一把过,并且教你伪装
  • vue3 + vite 项目可以使用纯Js开发吗?
  • Java EE之线程安全问题