算法
法式浪漫主义干拉
这个作者很懒,什么都没留下…
展开
-
数据结构与算法:爬楼梯 问题
题目:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?看题毫无头绪,不妨换一种思路,找找规律,//台阶数 方法数// 1 1// 2 2// 3 3// 4 5// 5 8// 6 13啊!这不就是那个斐波那契数列…直接代码实现 public int climbStairs(int n) { int c原创 2021-04-13 21:11:54 · 345 阅读 · 0 评论 -
数据结构与算法:盛最多水的容器
给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。解题思路1.双指针,左右加逼(复杂度最低,最好,提供两种写法)2.无脑暴力,将所有面积的可能放到list集合中,用Collections工具类取集合中的最大值3.也是无脑暴力,与方法二差不多双指针写法一:public int maxArea(int[]原创 2021-04-13 21:00:23 · 56 阅读 · 0 评论 -
数据结构与算法:移动0
题目:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。方法一:指定一个指针j,记录非零元素应该移动到的位置 public void moveZeroes(int[] nums) { int j = 0; for (int i = 0; i < nums.length; i++) { if (nums[i] != 0) { nums[j] = nums[i];原创 2021-04-13 20:38:04 · 156 阅读 · 0 评论 -
LeetCode力扣算法题 :两数之和 、三数之和问题
两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], target = 6输出原创 2021-04-10 18:34:30 · 135 阅读 · 0 评论