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

Day04 分治 递归 | 50. Pow(x, n)、22. 括号生成

一、50. Pow(x, n)
题目

实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。

示例 1:

输入:x = 2.00000, n = 10
输出:1024.00000

示例 2:

输入:x = 2.10000, n = 3
输出:9.26100

示例 3:

输入:x = 2.00000, n = -2
输出:0.25000
解释:2-2 = 1/22 = 1/4 = 0.25
1、思路

分治

  • 折半递归 → temp = myPow(x, n/2)
  • 平方 → ans = temp * temp
  • 奇数再 补乘一个 xans *= x
2、代码
class Solution {public double myPow(double x, int n) {if (n == 0) {return 1;}// 避免出界if (n == -(1l << 31)) {return 1.0 / myPow(x, -(n + 1)) * x;}if (n < 0) {return 1.0 / myPow(x, -n);}double temp = myPow(x, n / 2);double ans = temp * temp;if (n % 2 == 1) {ans = x * ans;}return ans;}
}
二、22. 括号生成
题目

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。

示例 1:

输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]

示例 2:

输入:n = 1
输出:["()"]
1、思路

固定最外层括号,把问题拆成左右两份,递归到底再拼回来,自然不重不漏

2、代码
class Solution {public List<String> generateParenthesis(int n) {//1.边界if (n == 0){return Arrays.asList("");}List<String> ans = new ArrayList<String>();//2.为避免重复,在划分时可以用括号固定一边,例如(A)B,保证唯一for (int k = 1; k <= n; k++) {List<String> A = generateParenthesis(k - 1);List<String> B = generateParenthesis(n - k);for (String a : A) {for (String b : B) {ans.add("(" + a + ")" + b);}}}return ans;}}
http://www.dtcms.com/a/394296.html

相关文章:

  • (博主大回归)洛谷题目:P1986 元旦晚会 题解 (本题简)
  • Windows Docker 环境下 VLLM 大模型存储最优解:Docker-Desktop 实例目录与多容器协同挂载方案
  • Elasticsearch面试精讲 Day 20:集群监控与性能评估
  • 如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘pydantic’ 问题
  • 设置永不待机 系统语言
  • PWA(渐进式Web应用)
  • gdb文档_第二章
  • 基础IO
  • Linux开发工具
  • DIDCTF-2023陇剑杯
  • 软件设计师软考备战:第四篇 计算机网络技术
  • 基于 GEE 利用 Sentinel-1 SAR 数据计算标准化双极化水体指数(SDWI)实现水体智能识别
  • 120-armv8_a_power_management:高级架构电源管理指南
  • 【MySQL初阶】02-库的操作
  • Kafka面试精讲 Day 20:集群监控与性能评估
  • 【C语言】数字模式求和算法的巧妙实现:深入解析循环与累加的艺术
  • 关系型数据库对比
  • 手机可视化方案(针对浓度识别)
  • LLM在应用计量经济学和因果推断中作用的思考
  • Redis 事务机制详解:从原理到实战
  • 【精品资料鉴赏】130页PPT汽车智能制造企业数字化转型SAP解决方案参考
  • 【区间贪心】P2859 [USACO06FEB] Stall Reservations S|普及+
  • Java进阶教程,全面剖析Java多线程编程,阻塞队列方式实现等待唤醒机制,笔记17
  • 【SAP小说】阿根廷项目的SAP突围:2025阿根廷平行账项目纪实
  • 具有广泛宿主范围的噬菌体在生态系统中很常见
  • 【Linux】进程概念(四):Linux进程优先级与进程调度的核心逻辑
  • @ModelAttribute 和@RequestBody有什么区别
  • npm玩转技巧
  • 柔性精密测量技术在小型化载荷微小应变监测方面的应用
  • 命令注入(Command Injection)漏洞学习笔记