![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
一本笔记本
这个作者很懒,什么都没留下…
展开
-
算法——搜索插入位置
题目: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [1,3,5,6], 7 输出: 4 示例 4: 输入: [1,3,5,6], 0 输出: 0 思路笔记: 因为数组是有序的,所以从左往右进行遍历,只要是第一次出现大于或等于数据,直接返回索引,因为有可原创 2021-03-30 17:00:50 · 115 阅读 · 0 评论 -
算法——只出现一次的数字
题目: 给你一个整数数组 nums,请编写一个能够返回数组 “中心下标” 的方法。 数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。 如果数组不存在中心下标,返回 -1 。如果数组有多个中心下标,应该返回最靠近左边的那一个。 注意:中心下标可能出现在数组的两端。 示例 1: 输入:nums = [1, 7, 3, 6, 5, 6] 输出:3 解释: 中心下标是 3 。 左侧数之和 (1 + 7 + 3 = 11), 右侧数之和 (5 + 6 = 11) ,二者相等。原创 2021-03-30 16:49:08 · 96 阅读 · 0 评论 -
算法——替换空格
题目: 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are happy." 输出:"We%20are%20happy." 题解: class Solution { public String replaceSpace(String s) { StringBuilder sb=new StringBuilder(); for(int i=0;i<s.length();i++){ ch原创 2021-03-30 16:41:01 · 75 阅读 · 0 评论 -
算法——只出现一次的数字
题目: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 题解: 交换律:a ^ b ^ c <=> a ^ c ^ b 任何数于0异或为任何数 0 ^ n => n 相同的数异或为0: n ^ n => 0 class Solution { public int singleNumber(int[] num原创 2021-03-30 16:37:38 · 75 阅读 · 0 评论 -
算法——存在重复元素
题目: 给定一个整数数组,判断是否存在重复元素。 如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。 示例 1: 输入: [1,2,3,1] 输出: true 示例 2: 输入: [1,2,3,4] 输出: false 示例 3: 输入: [1,1,1,3,3,4,3,2,4,2] 输出: true 题解: class Solution { public boolean containsDuplicate(int[] nums) {原创 2021-03-30 16:27:50 · 90 阅读 · 0 评论 -
算法——旋转数组
class Solution { //双重循环 完成K次数组向右移动 public void rotate_1(int[] nums, int k) { int arrLength=nums.length; k%=arrLength;//去除超出数组需要进行的重复步骤 for(int i=0;i<k;i++){ int temp = nums[arrLength-1]; for(int j=原创 2021-03-30 16:03:55 · 139 阅读 · 0 评论