ICode9

精准搜索请尝试: 精确搜索
  • LC2382022-09-01 12:02:38

    /* 使用双指针,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部。 右指针不断向右移动,每次右指针指向非零数,则将左右指针对应的数交换,同时左指针右移。 */ void moveZeroes(vector<int>& nums) { int n = nums.size(), left = 0, right = 0; while (rig

  • LC1672022-09-01 12:01:41

    vector<int> twoSum(vector<int>& nums, int target) { int l=0; int r=nums.size()-1; vector<int> ans; while(l<r){ if(nums[l]+nums[r]>target){ r--; }else if(nums[l]+nums[r]==target){

  • 有序数组的平方2022-08-31 20:32:47

    有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100],排序后,数组变为 [0,1,9,16,100] 示例 2: 输入:nums = [-7,-3,2,3,

  • 2022-8-31 每日一题-栈模拟-剑指offer-二分查找2022-08-31 13:01:18

    946. 验证栈序列 难度中等303收藏分享切换为英文接收动态反馈 给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false 。 1 class Solution { 2 public bo

  • LeetCode 18:2 sum 方法在计算 4 sum 中的应用(基于 2 指针的二进制搜索)2022-08-31 03:35:27

    LeetCode 18:2 sum 方法在计算 4 sum 中的应用(基于 2 指针的二进制搜索) 我们得到一个输入数组,我们有一个目标。我们要找出数组表单中哪两个元素的值等于目标。 例子: 数字= [1,2,3,4,5,6,7] 目标 = 10 输出:[[3,7],[4,6]] 约束: 约束是应该对 nums 进行排序以应用两个总和。 方法 与二

  • Review binary search2022-08-30 23:33:35

    33. 搜索旋转排序数组 - 力扣(LeetCode) 81. 搜索旋转排序数组 II - 力扣(LeetCode) 153. 寻找旋转排序数组中的最小值 - 力扣(LeetCode) 154. 寻找旋转排序数组中的最小值 II - 力扣(LeetCode) 34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣(LeetCode) 35. 搜索插入位置 - 力扣(Le

  • 1470. 重新排列数组2022-08-30 21:30:09

    1470. 重新排列数组 给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,...,xn,y1,y2,...,yn] 的格式排列。 请你将数组按 [x1,y1,x2,y2,...,xn,yn] 格式重新排列,返回重排后的数组。   示例 1: 输入:nums = [2,5,1,3,4,7], n = 3输出:[2,3,5,4,1,7] 解释:由于 x1=2, x2=5, x3=1, y1=

  • 用java实现二分查找2022-08-30 00:31:48

    /** *调用erfen方法,输入数据int[] s= {0,1,2,3,4,5}和8,输出方法的返回值 */ public class Erfen { public int search(int[] nums, int target) { int l=0; int r=nums.length-1; while(l<=r) { int m=(l+r)/2; if(nums[m]==target) return m; if(nums[m]>target)

  • Subarray With Elements Greater Than Varying Threshold2022-08-29 20:32:36

    Subarray With Elements Greater Than Varying Threshold You are given an integer array $nums$ and an integer $threshold$. Find any subarray of $nums$ of length $k$ such that every element in the subarray is greater than $threshold / k$. Return the size of a

  • 二分查找总结202208292022-08-29 18:04:40

    为什么要使用二分查找? 普通的查找找比较多:the general find need more time! 二分搜索的有点就是时间复杂度是O(logn)的,而普通的查找时间复杂度是O(N)的。但他们所消耗的空间是一样的。同时普通查找不需要数组有序,直接for循环即可,但是二分查找需要数组有一定的顺序。 template ``

  • leetcode 每日一题 1470. 重新排列数组2022-08-29 17:00:20

    leetcode  每日一题 1470. 重新排列数组 class Solution { public int[] shuffle(int[] nums, int n) { int[] arr = new int[nums.length]; for (int i = 0; i < nums.length; i++) { if(i < n){ arr[i*2] = nums[i];

  • [LeetCode] 1470. Shuffle the Array2022-08-29 14:33:31

    Given the array nums consisting of 2n elements in the form [x1,x2,...,xn,y1,y2,...,yn]. Return the array in the form [x1,y1,x2,y2,...,xn,yn]. Example 1: Input: nums = [2,5,1,3,4,7], n = 3 Output: [2,3,5,4,1,7] Explanation: Since x1=2, x2=5, x3=1, y1=3,

  • 删除有序数组中的重复项2022-08-29 09:33:51

    目录题目描述解题思路解题代码 题目描述 题目地址:https://leetcode.cn/problems/remove-duplicates-from-sorted-array/ 题目要求 给你一个 升序排列 的数组 nums ,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持 一致 。

  • leetcode198:打家劫舍2022-08-28 18:03:10

    package com.mxnet; public class Solution198 { public static void main(String[] args) { } /** * 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金 * 影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统, * 如果

  • 在排序数组中查找元素的第一个和最后一个位置2022-08-28 14:34:00

    目录题目描述解题思路解题代码 题目描述 题目地址:https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/ 题目要求 给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数

  • 搜索旋转排序数组2022-08-28 11:34:17

    目录题目描述解题思路解题代码 题目描述 题目地址:https://leetcode.cn/problems/search-in-rotated-sorted-array/ 题目要求 整数数组 nums 按升序排列,数组中的值互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了旋转,使数组变为[nums[k],

  • 移除元素2022-08-28 00:00:51

    移除元素 一、题目描述 给定一个数组nums,和一个整数val,将数组nums数组中的和val元素相等的元素原地删除。不使用新的空间。并返回删除元素后的数组的长度,不考虑超出新长度后面的元素。不需要考虑元素顺序问题。 实例 输入:nums = [1,6,6,4,5] val=6 输出:3 nums=[1,4,5] 二、题目分

  • 最接近的三数之和2022-08-26 23:33:01

    目录题目描述解题思路解题代码 题目描述 题目地址:https://leetcode.cn/problems/3sum-closest/ 题目要求 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从nums中选出三个整数,使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个

  • 数组中两元素的最大乘积2022-08-26 23:31:53

    数组中最大两元素乘积 一、题目描述 给定一个数组nums,使用i或J表示数组中最大值元素和次大值元素,返回(nums[i]-1) * (nums[j]-1),即可; 实例 输入:nums = [2,1,3,5] 输出:8 输入:nums = [5,5,4,3] 输出:16 二、题目分析 这个题目中我们只需要找到整个数组中最大的两个元素即可。可以使

  • 优先队列-2386. 找出数组的第 K 大和2022-08-26 23:02:13

    问题描述 给你一个整数数组 nums 和一个 正 整数 k 。你可以选择数组的任一 子序列 并且对其全部元素求和。 数组的 第 k 大和 定义为:可以获得的第 k 个 最大 子序列和(子序列和允许出现重复) 返回数组的 第 k 大和 。 子序列是一个可以由其他数组删除某些或不删除元素排生而来的数

  • leetcode-数组中两元素的最大乘积2022-08-26 10:31:13

    题目描述 给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。 请你计算并返回该式的最大值。 示例 1: 输入:nums = [3,4,5,2] 输出:12 解释:如果选择下标 i=1 和 j=2(下标从 0 开始),则可以获得最大值,(nums[1]-1)*(nums[2]-1) = (4-1)*(5-

  • 删除有序数组中的重复项2022-08-26 00:34:28

    删除有序数组中的重复项 一、题目描述 给定一个有序数组,原地删除重复出现的元素,是每一个元素只出现一次,返回新的长度。不使用额外的空间。 实例: 输入:nums = [1,1,2,3] 输出:3,nums=[1,2,3,_] **不需要考虑3后面的元素** 二、题目分析 删除元素不能创建新的数组,在原数组中修改。支取

  • [Leetcode Weekly Contest]3072022-08-24 23:33:20

    链接:LeetCode [Leetcode]2383. 赢得比赛需要的最少训练时长 你正在参加一场比赛,给你两个 正 整数 initialEnergy 和 initialExperience 分别表示你的初始精力和初始经验。 另给你两个下标从 0 开始的整数数组 energy 和 experience,长度均为 n 。 你将会 依次 对上 n 个对手。第 i

  • 398. 随机数索引2022-08-24 23:33:12

      labuladong 题解思路 难度中等247收藏分享切换为英文接收动态反馈 给你一个可能含有 重复元素 的整数数组 nums ,请你随机输出给定的目标数字 target 的索引。你可以假设给定的数字一定存在于数组中。 实现 Solution 类: Solution(int[] nums) 用数组 nums 初始

  • ac 797 差分2022-08-24 19:30:12

    //常规时间复杂度为 n*m // #include<bits/stdc++.h> // using namespace std; // int main() { // int n, m; // cin >> n >> m; // vector nums; // for (int i = 0; i < n; i++) { // int temp; // cin >> temp; //

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有