算法导学-1-数组类型题目
掌握情况
题目
通关
二分查找
通过
移除元素
通过
有序数组的平方
通过
长度最小的子数组
未通过
螺旋矩阵 II
二分查找LeetCode 704.二分查找
问题
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。1234567输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1
题解
这道题目的前提是数组为有序数组,同时题目还强调数组中无重复元素,因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的,这些都是使用二分法的前提条件
写二分法,区间的定义一般为两种,左闭右闭即[left, right],或者左闭右开即[left, right)。
左闭右闭的区间[left, right]targ ...
数据结构-1-常见排序算法
选择排序
算法思想: 从序列起始顺序扫描,找出最小的关键字,与第一个关键字交换,然后从剩下的关键字中继续选择最小的关键字,并交换。如此反复,最终使得序列有序。
12345678910111213141516171819public void selectionSort(int[] arr) { // 非法情况 if (arr == null || arr.length < 2) { return; } // 核心代码 for (int i = 0; i < arr.length - 1; i++) { // minIndex 记录最小关键字的下标 int minIndex = i; // 内循环表示无序序列部分 for (int j = i + 1; j < arr.length; j++) { minIndex = arr[j] < arr[minIndex] ? j : minInde ...
FSharp-02-Functions
function basics, signature
函数的基本定义
不声明类型的函数
1234567// example 1 let f x = x + 1// example 2let cyliderVolume radius length = let pi = 3.1415 length * pi * radius * radius
显式声明类型的函数
1234567// example 1 let f (x:int) = x + 1// example 2let cyliderVolume (radius:float) (length:float) " float = let pi = 3.1415 length * pi * radius * radius
单参数函数
1234567let f x = x * x// invokef 10.0// result100
多参数函数
123456789101112131415161718let g a b = a + b// invokeg 1 2// result3let h (a, b, ...
Content
Tutorials of Blog Based on Hexo Butterfly
编程语言Fsharp SeriesJava Series
算法刷题
数据结构—左程云算法基础班
数据结构-1-常见排序算法数据结构-2-排序算法的简单应用数据结构-3-链表数据结构-4-二叉树数据结构-5-图数据结构-6-前缀树数据结构-7-贪心算法数据结构-8-暴力递归
算法提升—左程云算法提升班
算法提升-1-哈希表与哈希函数算法提升-2-KMP算法提升-3-Manacher算法提升-4-滑动窗口算法提升-5-单调栈算法提升-6-树型DP算法提升-7-Morris算法提升-8-大数据算法提升-9-位运算算法提升-10-动态规划算法提升-11-有序表
算法导学—代码随想录
算法导学-1-数组类型题目算法导学-2-链表类型题目算法导学-3-哈希表类型题目算法导学-4-字符串类型题目算法导学-5-栈队列类型题目
算法通关—秋招基础 20 关
算法通关-第 0 关:通关热身算法通关-第 1 关:原来链表这么有用算法通关-第 2 关:两天写了三次的链表反转算法通关-第 3 关:爱不起的数组与双指 ...
Fsharp-01-Values
大纲:int、string、float、float32、decimal、tuple
数据类型
补充:
F#一般使用let声明变量和定义函数
F#自动推断类型、无需显式声明变量类型
使用typeof<xxx>查看类型
数据类型转换
float(1.4m)
int(1.4m)
int(1.4)
int "1"
关于格式字符补充
A :
123// %A 的使用 All// 假设var与var2已经定义let temp = $"First lecture, var = %A{var}, var1 = %A{var1}"
@:
123456789// @ 的使用 let temp = @"D:\test\test\test"D:\test\test\test// 不使用`@`,则变为转义字符`\t`let temp = "D:\test\test\test"D: est est est
"""...&quo ...
Tutorials of Blog Based on Hexo Butterfly
50d587fd195ba3e2fcf7fcd8dbdf856b49533c2bdf2bfd222ac0ef51e04fac82ed76773cb0df0808745848b4ca68907e950f6c901c65927437dd93d2f3e872851e70e65202bfbbf6942e85377df084dc74828f558d1c73626573de0a91390f72e7319ea65a6748f81cc73ecba62eb357745e2691f789ad1ce85c14192ff9af1b0a79230cd1301a7bea864f63426207d83366820920cca3040728abd888fe57e79d439f7f02dcf82ed96f6265f68ec8de474f8ffadc02251d5212b8ce22ea9316871973b12aac43526288a5704a315db4edd721a17f550b82cab76f7deb269507687dc51c1263318dce4fd226afc9f75117d42ea31186e0ac8 ...