首页 > TAG信息列表 > rightindex

旋转数组的最小数字【记录】

解法一 package algorithmBasic; /** * @author kegekeqi * @version 1.0 * @date 2021-12-12 18:01 */ public class RotateArray { public int minArray(int[] numbers) { if (null == numbers || numbers.length == 0) { return 0; } int low = 0; int h

Java快速排序

Java快速排序 /** * 快速排序 * * @author yl */ public class QuickSort { public static void main(String[] args) { int[] array = {7, 6, 9, 3, 1, 5, 2, 4}; System.out.println(Arrays.toString(quickSort(array,0,array.length-1))); }

提供几个常用的C#字符串操作函数源码

将做工程过程比较好的内容做个记录,下边代码段是关于提供几个常用的C#字符串操作函数的代码。public static string GetLeft(string str, string s){ string temp = str.Substring(0, str.IndexOf(s)); return temp;} public static string GetRight(string str, string s){

No.969 Pancake Sorting

969. 煎饼排序 - 力扣(LeetCode) (leetcode-cn.com) 从arr[]的末尾开始,逐个区间地去将对应区间的最大数字翻转到区间的末尾,reverse函数负责找出区间的最大数字,并通过两次翻转: 1、maxValue翻转到0, 2、maxValue从位置0翻转到区间末尾 注意返回的值是k,翻转的最大下标路径 public clas

#763 划分字母区间

/** * Note: The returned array must be malloced, assume caller calls free(). */ int* partitionLabels(char * s, int* returnSize){ int *result = (int *)malloc(sizeof(int) * strlen(s)); *returnSize = 0; int i; int rightIndex = -1; for(i

Java模拟 trim 方法,去除字符串两端空格

public class StringDemo1 { @Test public void show() { String s1 = " hello world sss "; String s2 = myTrim(s1); System.out.println(s2); //=> hello world sss } public String myTrim(String str) {

leetcode-每日一道算法题

盛最多水的容器 给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 示例 1: 输入:[1,8,6,2,5,4,8,3,7] 输出:49 解释:图中

【LeetCode每日一题】——11.盛水最多的容器

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 数组 二【题目难度】 中等 三【题目编号】 11.盛水最多的容器 四【题目描述】 给你 n 个非

#Unity _ 快速排序

using System.Collections; using System.Collections.Generic; using UnityEngine; public class 快速排序 : MonoBehaviour { void Start() { 快速排序Test(arr, 0, arr.Length - 1); } public int[] arr = new int[] { 1, 3, 2, 4, 5, 8, 7, 22

Java快速排序

代码如下 /** * 快速排序 * @param arr 目标数组 * @param left 排序的起始索引 * @param right 排序的末尾索引 */ private static void quickSort(int[] arr, int left, int right) { //递归结束条件 if (left > right) {

Golang二分查找

风格1: package main import ( "fmt" ) func BinarySort(arr *[]int, leftIndex, rightIndex, findVal int){ // 判断leftIndex是否大于rightIndex if leftIndex > rightIndex{ fmt.Println("找不到") return } // 先找到中间的下标 middle := (leftIndex+ri

20210110每日一算法

228. 汇总区间 1. 问题描述 给定一个无重复元素的有序整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。 列表中的每个区间范围 [a,b] 应该按

java排序

1. 冒泡排序  比较相邻的元素。如果第一个比第二个大,就交换他们两个。 //冒泡排序 public static void bubble(int[] ints) { for(int i = 0; i < ints.length - 1; i++) { for(int j = i + 1; j < ints.length - 1 - i; j++) { i

力扣Leetcode 11. 盛最多水的容器

盛最多水的容器 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 图中垂直线代

矩阵连乘-动归

使用动态规划算法解决如下问题 问题:给定n个矩阵{A1,A2,...,An},其中Ai与Ai+1是可乘的,i=1,2,...,n-1,求矩阵相乘至少需要多少次数乘? 举例:A1 10*100,A2 100*5,A3 5*50,则A1*A2*A3至少需要7500次数乘。 #include <stdio.h> #include <stdlib.h> #include <iostream> #define MAX 50 #de

判断一个数组是不是某个二叉搜索树的后序遍历

题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。   后序遍历:      左右中    (数组最后一个值就是根节点值) 二叉搜索树:  左值<中值<右值 分析:遍历数组,第一个比中间节点

java快排泛型实现

一、用泛型实现快排,可以传入不通类型进行排序,比如String数组,Integer数组。 /** * 快速排序 * * @author chx * */public class QuickSort { /** * 数组内数值的交换函数 * * @param arr * 原数组 * @param leftIndex * 左索引 * @param rightIndex