第六课

    • [2540. 最小公共值](https://leetcode.cn/problems/minimum-common-value/)
  • 507. 完美数
  • 728. 自除数
  • 1437. 是否所有 1 都至少相隔 k 个元素
  • 1446. 连续字符
  • 基础知识

2540. 最小公共值

class Solution {public int getCommon(int[] nums1, int[] nums2) {int m = nums1.length, n = nums2.length;int i = 0, j = 0;// while (i < m && j < n) {//     if (nums1[i] == nums2[j]) return nums1[i];//     if (nums1[i] > nums2[j]) j++;//     else i++;// }for (int x : nums1) {while (j < n && nums2[j] < x) j++;if (j < n && nums2[j] == x) return x;}return -1;}
}

507. 完美数

Leetcode

class Solution:def checkPerfectNumber(self, num: int) -> bool:if num == 1: return False # 1 特别处理,不是完美数。res = 1 # 不包含 num 本身,先处理 1,因子是成对的     # for i in range(2, int(num**0.5)+1):#     if num % i == 0:#         res += i + num // i i = 2while i * i < num:if num % i == 0:res += i + num // i # 累计正因子和         i += 1return res == num
class Solution {public boolean checkPerfectNumber(int num) {if (num == 1) return false;int res = 1;    // for (int i = 2; i <= Math.sqrt(num); i++)for (int i = 2; i * i < num; i++){if (num % i == 0) res += i + num / i;}// int i = 2;// while (i * i < num){//     if (num % i == 0) res += i + num / i;//     i ++;// }return res == num;}
}

728. 自除数

Leetcode

class Solution:def selfDividingNumbers(self, left: int, right: int) -> List[int]:def self_dividing(n):for d in str(n):if d == '0' or n % int(d) > 0: return Falsereturn True"""Alternate implementation of self_dividing:def self_dividing(n):x = nwhile x > 0:x, d = divmod(x, 10)if d == 0 or n % d > 0: return Falsereturn True"""ans = []for n in range(left, right + 1):if self_dividing(n): ans.append(n)return ans # Equals filter(self_dividing, range(left, right+1))
class Solution {public List<Integer> selfDividingNumbers(int left, int right) {List<Integer> res = new ArrayList();for (int n = left; n <= right; ++n) {if (selfDividing(n)) res.add(n);}return res;}public boolean selfDividing(int n) {// for (char c: String.valueOf(n).toCharArray()) {//     if (c == '0' || (n % (c - '0') > 0))//         return false;// }int x = n;while (x > 0) {int r = x % 10;x /= 10;if (r == 0 || (n % r) > 0) return false;}return true;}
}

1437. 是否所有 1 都至少相隔 k 个元素

Leetcode

class Solution:def kLengthApart(self, nums: List[int], k: int) -> bool:tmp = k # 处理第一个 1for i in range(len(nums)):if nums[i] == 1:if k > tmp: return Falsetmp = 0 # 遇到 1 从新记数else: tmp += 1return True# left = -inf# for i in range(len(nums)):#     if nums[i] == 1:#         if i - left - 1 < k: return False#         left = i# return True
class Solution {public boolean kLengthApart(int[] nums, int k) {// Integer.MIN_VALUE = -2^31, Integer.MAX_VALUE = 2^31 - 1// -(-2^31) = -2^31 因为 2^31 越界了,解决办法 + 1。// int left = Integer.MIN_VALUE + 1;         int left = -k-1; // left <= i -k-1 则 i-left-1 >= kfor (int i = 0; i < nums.length; i++){if (nums[i] == 1) {if (i - left - 1 < k) return false;left = i;} }return true;}
}

1446. 连续字符

Leetcode

class Solution:def maxPower(self, s: str) -> int:       # res = tmp = 1# x = s[0]# for i in range(1, len(s)):#     if s[i] == x:#         tmp += 1#     else:#         res = max(res, tmp)#         x = s[i]#         tmp = 1                # return max(res, tmp)## 双指针res, slow, n = 1, 0, len(s)       for i in range(1, n):if s[i] != s[slow]:res = max(res, i - slow)slow = ires = max(res, n - slow)                 return res
class Solution {public int maxPower(String s) {int res = 1, slow = 0;// s += "*"; // 添加哨兵for (int i = 1; i < s.length(); i++){if (s.charAt(i) != s.charAt(i-1)){res = Math.max(res, i - slow);slow = i;}}res = Math.max(res, s.length() - slow); // 处理末尾连续的字符,可添加哨兵。return res;}
}

基础知识

计算两个下标之间的元素个数
边界处理

Java 第 06 课 507. 完美数 1437. 是否所有 1 都至少相隔 k 个元素相关推荐

  1. Java实现 LeetCode 507 完美数

    507. 完美数 对于一个 正整数,如果它和除了它自身以外的所有正因子之和相等,我们称它为"完美数". 给定一个 整数 n, 如果他是完美数,返回 True,否则返回 False ...

  2. LeetCode Algorithm 507. 完美数

    507. 完美数 Ideas 把所有的约数全都加起来就行了,也没啥. Code Python class Solution:def checkPerfectNumber(self, num: int) ...

  3. 507. 完美数-c语言

    507. 完美数 对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」. 给定一个 整数 n, 如果是完美数,返回 true:否则返回 false. 示例 1: 输 ...

  4. Python Leetcode(507.完美数)

    Python Leetcode(507.完美数) 对于一个 正整数,如果它和除了它自身以外的所有正因子之和相等,我们称它为"完美数". 给定一个 正整数 n, 如果他是完美数,返回 ...

  5. LeetCode 507. 完美数

    1. 题目 对于一个 正整数,如果它和除了它自身以外的所有正因子之和相等,我们称它为"完美数". 给定一个 整数 n, 如果他是完美数,返回 True,否则返回 False 示例: ...

  6. leetcode 507 完美数

    题目: We define the Perfect Number is a positive integer that is equal to the sum of all its positive ...

  7. Leetcode 507: 完美数

    题目描述: 对于一个 正整数,如果它和除了它自身以外的所有正因子之和相等,我们称它为"完美数". 给定一个 整数 n, 如果他是完美数,返回 True,否则返回 False 示例: ...

  8. java定义一个类显示没有_Java 中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。_学小易找答案...

    [单选题]关于 Java 语言叙述错误的是( ). [判断题]类中 static 修饰的变量或方法,可以使用类名或对象的引用变量访问. [命名题]命名下列化合物, [单选题]急性胰腺炎的主要临床表现是 ...

  9. leetcode 507. 完美数(Java版)

    题目 https://leetcode-cn.com/problems/perfect-number/ 题解 枚举 n 的所有因数,并计算它们的和.(或者逆向思路:枚举 n 的所有因数,用 n 分别减 ...

最新文章

  1. bzoj2959 长跑
  2. C++ STL快速入门
  3. 一个已经存在 10 年,却被严重低估的库
  4. 深入理解Spark 2.1 Core (十四):securityManager 类源码分析
  5. 内存、数据结构之栈和堆的区别?
  6. 把日志文件从Linux服务器拷贝到Windows上
  7. wgs utm java,Java,将经纬度转换为UTM
  8. Golang笔记——反射
  9. android 崩溃日志捕获,安卓Java崩溃的捕获和日志记录
  10. CentOS6.5配置网易163做yum源
  11. 各种隐藏WebShell、创建、删除畸形目录、特殊文件名的方法
  12. Node.JS EXCEL 读取操作
  13. 电脑的记事本如何显示行数
  14. 解决Strings must use singlequote方法以及eslint与本地格式化规则起冲突时的解决办法
  15. mov和mp4格式哪个好_Mac版dvd格式转换器哪个好用?Mac上最好用的dvd格式转换器推荐...
  16. linux系统安装佳能打印机驱动,如何在Debian和Debian系统上安装(Canon)打印机
  17. 如何加声调口诀_汉语拼音声调标注口诀 涨知识了
  18. 亚马逊用AI监控和解雇员工,这会是大势所趋吗?
  19. 日有所思(6)——直流电机注意点
  20. kali2021安装GVM(openVAS)

热门文章

  1. j2ee模拟购物车业务源码与JavaBean相关讲解(第十二天学习j2ee)
  2. 心想事成要怎么想才能成
  3. Picture Bed
  4. 游戏设计之我见 —— 动作游戏中的敌人移动设计
  5. python人脸检测与微信小程序_微信小程序实现人脸检测功能
  6. Python 爬取淘宝商品的价格并保存到本地excel文件中
  7. 3Dmax怎么切换成中文模式?
  8. C# 主画面开发 - 窗口停靠
  9. matlab均值滤波 工频干扰,为什么会有工频干扰_工频干扰产生原因及解决方案
  10. Bootstrap使用bootstrap-select的坑[记录]