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

LeeCode打卡第三十天

LeeCode打卡第三十天

第一题:组合(LeeCode第77题):

给定两个整数 nk,返回范围 [1, n] 中所有可能的 k 个数的组合。

你可以按 任何顺序 返回答案。

主要思想:用递归做题首先得确定边界,这道题的边界为存入的数列的长度要小于等于k

class Solution {List<List<Integer>> result = new ArrayList<>();LinkedList<Integer> path = new LinkedList<>();public List<List<Integer>> combine(int n, int k) {backtracking(n, k, 1);return result;}public void backtracking(int n, int k, int startIndex){if(path.size() == k){result.add(new ArrayList<>(path));return;}for(int i = startIndex; i <= n; i++){path.add(i);backtracking(n, k, i +1);path.removeLast();}}
}

第二题:数组综合III(LeeCode第216题):

找出所有相加之和为 n 的 k 个数的组合,且满足下列条件:

  • 只使用数字1到9
  • 每个数字 最多使用一次
ul> 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。


主要思想:用递归的思想,和上一题解法类似,修改一下判定条件即可实现功能

class Solution {List<List<Integer>> ans = new ArrayList<>();List<Integer> res = new ArrayList<>();public List<List<Integer>> combinationSum3(int k, int n) {backtracking(n, k, 1);return ans;}public void backtracking(int n, int k, int startIndex){int sum = 0;for(int num : res){sum += num;}if(res.size() == k && sum == n){ans.add(new ArrayList<>(res));return;}for(int i = startIndex; i <= 9; i++){res.add(i);backtracking(n, k, i + 1);res.removeLast();}}
}

第三题:存在重复元素(LeeCode第217题):

给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。


主要思想:主要采用hashset,将数组中的元素存入hashset利用hashset的contains函数判断是否包含

class Solution {public boolean containsDuplicate(int[] nums) {HashSet<Integer> set = new HashSet<>();for(int n : nums){if(set.contains(n)) return true;set.add(n);}return false;}
}

http://www.mrgr.cn/news/34391.html

相关文章:

  • 安装和删除cudnn
  • 农产品商城系统小程序的设计
  • comfyui文生图过程
  • SD和MNO SD的创建
  • 怎么把kgm转换成mp3?5个kgm转mp3的方法,亲测管用!
  • 数据结构——顺序表、链表
  • pandas中数据的合并
  • 单链表练习
  • Linux重定向
  • Linux C# Day4
  • 文心智能体搭建步骤
  • 007——递归(树的前置知识点)
  • 华为HarmonyOS灵活高效的消息推送服务(Push Kit) -- 8 发送通知扩展消息
  • torch.nn系列函数学习 --- Conv2d函数
  • 二分查找算法(5) _山脉数组的峰顶索引
  • 处理京东商品详情信息爬取中的验证码问题
  • yuque-dl-语雀知识库下载为本地markdown
  • 安全审计与监控的核心作用!确保网络安全等级保护的有效性
  • 镜舟科技面对亿级数据分析场景,如何做到金融级放心用?
  • LN层和BN层的区别?