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

网站如何生成静态页面wordpress 上传开发

网站如何生成静态页面,wordpress 上传开发,郑州企业建设网站,衡水企业网站制作报价本题是扩展题,真实考过,看这个题之前先看一下39题 Leetcode面试经典150题-39.组合总数-CSDN博客 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数…

本题是扩展题,真实考过,看这个题之前先看一下39题

Leetcode面试经典150题-39.组合总数-CSDN博客

给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。

candidates 中的每个数字在每个组合中只能使用 一次 。

注意:解集不能包含重复的组合。 

示例 1:

输入: candidates = [10,1,2,7,6,1,5], target = 8,
输出:
[
[1,1,6],
[1,2,5],
[1,7],
[2,6]
]

示例 2:

输入: candidates = [2,5,2,1,2], target = 5,
输出:
[
[1,2,2],
[5]
]

提示:

  • 1 <= candidates.length <= 100
  • 1 <= candidates[i] <= 50
  • 1 <= target <= 30

其他的就不多说了,上代码,看不懂的请留言或者私信,收到第一时间解答

class Solution {/**这个题目对比第39题难度极大吧我觉得,这哪是中等难度,百分百的hard难度这个题对比39题的不同是每个位置的数只能使用一次,但是有可能有的位置的数是重复的,而重复的集合也应该被考虑这里我的解题思路是既然有重复的数,那就过滤出一个数组放数,另外一个数组放这个数出现的频率来试试这个解法*/public List<List<Integer>> combinationSum2(int[] candidates, int target) {/**先统计词频 */Map<Integer,Integer> map = new HashMap<>();for(int num : candidates) {map.put(num, map.getOrDefault(num, 0) + 1);}/**统计完词频之后把原来的数组分为两个数组,这里我想先排序,所以这里先统计出数字数组,稍后再统计词频数组 */int[] nums = new int[map.keySet().size()];int curIndex = 0;for(int num : map.keySet()) {nums[curIndex ++] = num;}/**排个序用于剪枝*/Arrays.sort(nums);/**统计词频数组 */int[] counts = new int[nums.length];for(int i = 0; i < nums.length; i++) {counts[i] = map.get(nums[i]);}return process(nums, counts, 0, target);}public List<List<Integer>> process(int[] nums, int[] counts, int curIndex, int targetLeft) {List<List<Integer>> ans = new ArrayList<>();if(targetLeft == 0) {ans.add(new ArrayList<>());return ans;}/**如果targetLeft不为0,但是我们没有数了,失败,返回空集合 */if(curIndex == nums.length) {return ans;}/**我们是按照从小到大排序的数组,如果targetLeft已经比当前数小了也没必要继续尝试了 */if(targetLeft < nums[curIndex]) {return ans;}/**其他情况正常尝试,当前数可以尝试Math.min(count[curIndex], targetLeft/nums[curIndex])次*/for(int i = 0; i <= Math.min(counts[curIndex], targetLeft/nums[curIndex]); i++) {List<List<Integer>> next = process(nums, counts, curIndex + 1, targetLeft - i * nums[curIndex]);for(List<Integer> list : next) {/**当前数加了多少个,就加入多少个到next中的集合中,因为确实是使用了这么多个 */for(int num = 0; num < i; num ++) {list.add(nums[curIndex]);}/**加入到当前数的集合 */ans.add(list);}}return ans;}
}

http://www.yayakq.cn/news/848789/

相关文章:

  • 代做毕设自己专门网站ui设计自学学的出来吗
  • 加强机关网站内容建设域名查询权威网站
  • 最新网站架构手表网站
  • 响应式网站都有哪些质量管理
  • 西安网站运营做网站项目需求分析是什么
  • php网站培训班高职院校优质校建设专栏网站
  • html做的宠物网站设计说明怎么写范文
  • 全球网站流量查询网站建设怎么入账
  • 做网站需要注册商标是几类宣城网站建设费用
  • 下列关于网站开发中网友上传在国外视频网站做中国美食
  • 代做网站 作业广州电子商城网站
  • 网站开发项目商业计划书wordpress 商品 模板下载
  • wordpress博客整站源码外加工平台
  • 洋县建设银行网站可克达拉市建设局网站
  • 成都市专业制作网站本人找做钢筋笼的活网站
  • 北京商场招商信息wordpress优化打开速度插件
  • 家具品牌网站一个刚做好的网站怎么做seo
  • wordpress网站图片加速网站建设的作用有哪些
  • 网络文学网站开发嘉兴做外贸网站比较好的公司
  • 广州技术支持 网站建设广州app开发网站建设
  • 原子艺术做的网站怎么样子网站地图后台可以做吗
  • 做网站在浏览器预览怎么出现了状况石家庄快速建站公司
  • 如何选择免费网站建设怎样做校园网站
  • 模板网站代理无锡网站制作那些
  • 手机网站底部固定菜单app网站样式
  • 做产品推广哪个网站好中恒建设集团有限公司 网站
  • 网站怎么做qq授权登录公司网站网页设计
  • 封面制作网站wordpress 访客统计
  • sns社交网站东莞网站优化哪家好
  • 广告平台网站有哪些如何查看网站模板