数组算法:二分法,双指针滑动窗口
给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。
如果数组中不存在目标值 target,返回 [-1, -1]。
二分法123456789101112131415161718192021222324252627282930313233343536373839404142434445464748class Solution { int[] searchRange(int[] nums, int target) { int leftBorder = getLeftBorder(nums, target); int rightBorder = getRightBorder(nums, target); // 情况一 if (leftBorder == -2 || rightBorder == -2) { return new int[] {-1, -1}; } // ...
数组算法:双指针,滑动窗口, 螺旋矩阵
双指针给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
12345678910111213141516class Solution { public int[] sortedSquares(int[] nums) { int k = nums.length - 1; int[] numsSort = new int[nums.length]; int i = 0; int j = k; while (i <= j) { if (nums[j] * nums[j] > nums[i] * nums[i]) { numsSort[k--] = nums[j] * nums[j--]; } else { numsSort[k--] = nums[i] * nums[i++]; ...
数据结构(C语言):线性表常用功能
完整版123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165#include<stdio.h>#include<stdlib.h>#define MAX_SIZE 100typedef struct SqList { int data[MAX_S ...
排序算法:简单选择,插入,冒泡
简单选择排序void SelectSort(int arr[], int size){ int i, j; for (i = 0; i < size-1; i++) { int index = i; for(j = i+1; j < size; j++) { if(arr[index] > arr[j]) { index = j; } } int temp = arr[i]; arr[i] = arr[index]; arr[index] = temp; }}
插入排序void InsertSort(int arr[], int size){ int i, j; for(i = 1; i < size; i++) { int te ...
数组算法:二分法
java实现给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
right = nums.length;12345678910111213141516class Solution { public int search(int[] nums, int target) { int left = 0, right = nums.length; while (left < right) { int mid = left + ((right-left) >> 1); if (nums[mid] == target) { return mid; } else if (nums[mid] > target) { right = ...
数组算法:双指针
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。
不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。
Java实现123456789101112class Solution { public int removeElement(int[] nums, int val) { int slowIndex = 0; for (int fastIndex=0; fastIndex < nums.length; fastIndex++) { if(nums[fastIndex] != val) { nums[slowIndex++] = nums[fastIndex]; } } return slowIndex; ...
C语言printf与scanf扩展篇
printfprintf转换说明转换说明 输出%a,%A: 浮点数,十六进制数与p记数法(P记数法)
%c: 单个字符
%d: 有符号十进制整数
%e,%E: 浮点数,e记数法(E记数法)
%f: 浮点数,十进制记数法
%g,%G: 自动选择%e(%E),%f。%e(%E)格式用于指数小于-4或者大于等于精度时
%i: 与%d相同
%o: 无符号八进制整数
%p: 指针
%s: 字符串
%u: 无符号十进制整数
%x,%X: 无符号十六进制整数,适用十六进制数0f(0F)
%%: 打印一个%
%i和%d的相同之处可以追溯到C语言的历史。最初,%d用于打印有符号十进制整数,而%i用于打印无符号或有符号的十进制整数。然而,从实际应用角度来看,很少需要打印无符号十进制整数。因此,在实践中,%d逐渐成为打印无符号和有符号十进制整数的通用转换说明符,而%i则被视为%d的一个别名。
printf修饰符修饰符 含义标记: 共+,-,空格,#,0五种,可以一起使用或者不使用
数字: 最小字段宽度超出的话系统会自动使用更大的宽度
.数字: 精度
h,hh,j,l,ll,L,t,z: 和转换说明一起使用
...
C语言头文件limits.h和float.h中常用明示常量的值
limits.hCHAR_BIT:8SCHAR_MIN:-128SCHAR_MAX:127UCHAR_MAX:255CHAR_MIN:-128CHAR_MAX:127MB_LEN_MAX:16SHRT_MIN:-32768SHRT_MAX:32767USHRT_MAX:65535INT_MIN:-2147483648INT_MAX:2147483647UINT_MAX:4294967295LONG_MIN:-9223372036854775808LONG_MAX:9223372036854775807ULONG_MAX:18446744073709551615LLONG_MIN:-9223372036854775808LLONG_MAX:9223372036854775807ULLONG_MAX:18446744073709551615
float.hFLT_RADIX:2FLT_ROUNDS:1FLT_DIG:6FLT_EPSILON:1.19209290e-07FFLT_MANT_DIG:24FLT_MAX:3.40282347e+38FFLT_MAX_10_EXP:38FLT_M ...
图片
pie
title Key elements in Product X
"Calcium" : 42.96
"Potassium" : 50.05
"Magnesium" : 10.01
"Iron" : 5
2022
01-02
這是測試頁面
第一個Tab炸彈tab名字為第一個Tab只有圖標 沒有Tab名字名字+icon
默認 提示塊標籤
default 提示塊標籤
primary 提示塊標籤
success 提示塊標籤
info 提示塊標籤
warning 提示塊標籤
danger 提示塊標籤
待续
谁控制了过去,谁就控制了未来;谁能控制现在,也就控制了过去爱情,拉丁文做amor,起始于爱慕,终结于死亡。但在此之前,是无尽的怅惘,忧伤,悲泣,欺骗,罪恶,懊丧热情最会伪装,须知欲盖反而弥彰;犹如乌云越黑,越是显示有可怕的风暴爱情,造就平等,却不追求平等一直沉迷过去活到现在的人,是无法和别人拥有羁绊的人生如逆旅,不进则退追求卓越成功便紧随其后不要让年轻时射出的子弹击中未来的自己


