算法
BD章鱼哥
加油
展开
-
统计一个数的二进制位有多少个 1
统计一个数的二进制位有多少个 1转载 统计一个数的二进制位有多少个 1转载 2021-08-31 09:06:52 · 231 阅读 · 0 评论 -
2021-08-21-leetcode-00004
双指针334编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 public void reverseString(char[] s) { //i左指针 长度减一减i右指针 从中间开始 首位左右交换 时间复杂度N 空间复杂度1 for (int i = 0;原创 2021-08-21 14:25:16 · 164 阅读 · 1 评论 -
2021-08-20-leetcode-00003
双指针283给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]167给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answe原创 2021-08-20 10:52:29 · 86 阅读 · 0 评论 -
2021-08-19-leetcode-00002
双指针977给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。189给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。进阶:尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗?示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步原创 2021-08-19 15:26:28 · 92 阅读 · 0 评论 -
2021-08-19-leetcode-00001
二分查找704 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1278你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 boo原创 2021-08-19 11:04:15 · 651 阅读 · 0 评论