攻城狮的自我修养
09
09
回溯算法 回溯算法
4.1 回溯算法解决子集、组合、排列问题4.1.1 子集 输入一个不包含重复数字的数组,要求算法输出这些数字的所有子集 比如说输入nums = [1,2,3],应该输出8个子集,包括空集及其本身 第一个解法是利用数学归纳法的思想:假设现在已
09
nSum问题解题套路 nSum问题解题套路
4.5 2sum问题的核心思想4.5.1 2SUM-1 给你输入一个数组nums和target可以保证在数组存在两个数的和为target,请你返回这两个数的索引 直接的想法是穷举任意两个数的组合,然后去试验符不符合要求,如果想要让时间复杂
09
实现计算器 实现计算器
4.7 拆解复杂问题:实现计算器 表达式求值算法是一个Hard级别的问题,最终实现一个包含如下功能的计算器 输入一个字符串,可以包含+ - * /、数字、空格、算法返回运算结果 要符合运算法则,括号的优先级最高,先乘除再加减 除号是整数除法
09
烧饼排序问题 烧饼排序问题
4.8 递归解决烧饼排序问题4.8.1 问题描述给你一个整数数组 arr ,请使用 煎饼翻转 完成对数组的排序。 一次煎饼翻转的执行过程如下: 选择一个整数 k ,1 <= k <= arr.length反转
09
前缀和算法 前缀和算法
4.9 前缀和解决子数组问题4.9.1 问题描述给定一个整数数组和一个整数 k ,请找到该数组中和为 k 的连续子数组的个数。 暴力的思路是直接穷举所有的子数组然后求和即可,关键是如何快速地得到某个子数组的和?比如给你一个数组nums,让
09
高效解决常见数论问题 高效解决常见数论问题
5.1 如何高效寻找素数5.1.1 常规解法 素数的定义:如果一个数只能被1和它本身整除,那么这个数就称为素数, 输入一个正整数n,函数返回区间[2,n)中素数的个数 一种常见的写法如下 public int countPrimes(
29 / 32