ICode9

精准搜索请尝试: 精确搜索
  • 交换类排序2022-02-11 01:34:17

    一、冒泡排序(Bubble Sort) 1.时间复杂度:O(n2) 2.空间复杂度:O(1) 1 void BubbleSort(int* a, int num) { 2 int i, j; 3 for (i = 1; i <= num - 1; ++i) { 4 for (j = 1; j <= num - i; ++j) { 5 if (a[j] > a[j + 1]) {//前后交换 6

  • 力扣-面试题10.05 稀疏数组搜索(C++)- 二分变形2022-02-08 18:31:13

    题目链接:https://leetcode-cn.com/problems/sparse-array-search-lcci/ 题目如下: class Solution { public: int findString(vector<string>& words, string s) { int low=0,high=words.size()-1; while(low<=high){ int mid=low+(hi

  • 938. Range Sum of BST2022-02-08 05:00:29

    Although this is an easy question, but it is prone to bugs, and the code can be better. Following is my first solution, didn't use the feature of BST. private int sum =0; public int rangeSumBST(TreeNode root, int low, int high) { if(root

  • LeetCode:1405. 最长快乐字符串————中等2022-02-07 11:03:49

    题目 1405. 最长快乐字符串 如果字符串中不含有任何 ‘aaa’,‘bbb’ 或 ‘ccc’ 这样的字符串作为子串,那么该字符串就是一个「快乐字符串」。 给你三个整数 a,b ,c,请你返回 任意一个 满足下列全部条件的字符串 s: s 是一个尽可能长的快乐字符串。 s 中 最多 有a 个字母 ‘a’、b

  • 快速排序(C++)2022-02-07 11:01:56

    int partition(int arr[], int low, int high) { int i = low; int j = high; int base = arr[low]; if (low < high) { while (i < j) { while (i < j && arr[j] >= base) { j--; } if (i < j)//右边小于基数 { arr[i++] = arr[j];

  • 程序员基本功系列3——二分查找2022-02-06 13:35:24

    1、二分查找概念   1.1、核心思想     二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0。   二分查找的时间复杂度是 O(logn),当数据量较大时,O(logn)

  • 【每日一题】【奇偶中心分别扩展】最长回文子串-211104/2202052022-02-05 18:33:59

    给你一个字符串 s,找到 s 中最长的回文子串。 https://leetcode-cn.com/problems/longest-palindromic-substring/ 最新解法:奇偶分别向两端扩展 public String longestPalindrome(String s) { int[] range = new int[2]; int n = s.length(); for(int i

  • C++实现简易计算器2022-02-05 11:04:30

    C++实现简易计算器 实现功能:加减乘除乘方开方六种基本运算 开方采用二分法完成,精度控制在0.0000001内 加减乘除其实没必要写函数,写函数是强迫症为了保证画风统一 #include<iostream> #include<cstring> #include<float.h> using namespace std; double myAdd(double x,double y){

  • 【STC单片机】3路PWM波形示例演示2022-02-04 13:35:43

    【STC单片机】PCA-3路PWM波形示例演示 本示例采用的是STC官方所给的《STC15系列库函数与例程测试版V2.0》里面的示例程序,测试的芯片型号:STC15W408AS。自制的开发板,采用外部晶振16MHz。《【开源分享】自制STC15W408AS开发板》 使用逻辑分析仪实时采集的P25、P26、P27引

  • LCD液晶显示屏的应用2022-02-04 13:02:12

    LCD液晶显示屏的应用 LCD显示器需要由驱动芯片控制,控制芯片已经集成还在显示器中了。LCD由灰色的像素组成。一个典型的16x2LCD可在两行中显示16个字符,每个字符由5个像素宽、8个像素高组成。如果在显示器上把对比度设的很高,32组5x7像素将变得可见 1602液晶显示文字试验 两组电

  • Arduino学习笔记---Blink2022-02-03 20:33:23

    Arduino学习笔记---Blink Blink 应该是最简单的程序了 来自Arduino官网 1 /* 2 Blink 3 4 Turns an LED on for one second, then off for one second, repeatedly. 5 6 Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO 7 it i

  • 快速排序2022-02-03 19:33:08

    通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 时间复杂度O(nlog2n) 空间复杂度O(log2n) 快速排序的算法优化思路:尽量选择可以把数据中分的枢纽。 //用第一个元素将待排

  • 折半插入排序2022-02-03 19:00:41

    折半插入排序所需附加存储空间和直接插入排序相同,折半插入排序仅减少了关键字空间的比较次数,而记录的移动次数不变。 时间复杂度为O(n2) 空间复杂度为O(1) void InsertSort(int A[], int n){ int i,j,low,mid,high; for(i=2; i<=n; i++){ A[0] = A[i];

  • 快速排序2022-02-01 18:35:34

    快速排序 步骤为: 从数列中挑出一个元素,称为"基准"(pivot)(一般就是第一位), 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区结束之后,该基准就处于数列的中间位置. 递归地(recursive)把小于基准值元素的子数

  • 【排序算法】快速排序及其C语言实现_Python实现2022-02-01 12:06:21

    博客对您有所帮助的话,欢迎给个赞啦,你的鼓励是对我最大的支持! 有不足之处及改进之处也请您评论指教 快速排序 1 算法思想2 算法步骤3 实例4 算法分析4.1 时间复杂度4.2 空间复杂度4.3 稳定性 5 算法优化6 代码6.1 C语言实现6.2 Python代码实现 7 参考文献 下面我们介绍

  • 复试智力题和LEETCODE算法代码题目总结2022-02-01 10:31:06

    复试智力题和LEETCODE算法代码题目总结 一、智力题 你让工人为你工作 7 天,给工人的回报是一根金条。金条平分成相连的 7 段,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你的工人付费? 考虑到7=1+2+4,即三位的二进制,刚好切两次,切成1,2,4,这样每天都可以的工资

  • 常用的RS485芯片简介2022-01-31 19:30:17

    本文将简单介绍常用RS485 芯片 MAX48x系列芯片 The MAX481, MAX483, MAX485, MAX487–MAX491, and MAX1487 are low-power transceivers for RS-485 and RS-422 communication. Each part contains one driver and onereceiver. The MAX483, MAX487, MAX488, and MAX489 feature

  • 8080协议2022-01-28 19:04:24

    目录 8080协议概述 写周期序列 读周期序列  8080协议概述 8080协议是一种并行、异步、半双工通信协议,可用于单片机控制器与LCD驱动芯片之间的通信。8080的通信端包括: The chip-select CSX (activelow) is used to enable or disable ILI9341 chip. The RESX(active low) is a

  • 插值查找法2022-01-27 22:03:32

    插值查找法又称为插补查找法,是二分查找法的改进版,按照数据位置的分布,利用公式预测数据所在的位置,再以二分法的方式渐渐逼近。使用插值查找法时,假设数据平均分布在数组中,而每一项数据的差距相当接近或有一定的距离比例。插值查找法的公式为: mid=low+((key-data[low])/(data[high]

  • 详解归并排序2022-01-27 17:01:20

    1.归并排序 归并排序使用了分治和递归的思想,将具有n的元素的无序序列划分为n个每个含有一个元素的序列,再将n个有序序列采用二路归并等合并方法进行合并排序成一个有序的序列。 2.归并实现步骤 2.1.划分划分左半部分后,合并排序左半部分         2.1.1递归划分左半部分 如图:

  • python实现ATR指标模型 量化策略 python 策略开发2022-01-25 22:35:35

    指标说明 ATR又称 Average true range平均真实波动范围,简称ATR指标,是由J.Welles Wilder 发明的,ATR指标主要是用来衡量市场波动的强烈度,即为了显示市场变化率的指标。 首先提出的,这一指标主要用来衡量价格的波动。因此,这一技术指标并不能直接反映价格走向及其趋势稳定性

  • 后端,标准单元库2022-01-25 17:02:58

    和FPGA设计不同 无法换管子   https://blog.csdn.net/u011729865/article/details/53488431 标准单元库的理解     对umc28nm standard cell library,做一些阅读理解,很多数据资料来源。   HVT/SVT/LVT的意思?high VtStandard Vt(也有称为Regular Vt,即RVT)low Vt阈值电压越低,因

  • C语言 传指针和传地址的区别2022-01-24 22:01:17

    #include <stdio.h> #include <stdlib.h> struct students{ int age; int high; int *p; }; void init(struct students* s ) { s->age=10; s->high=188; s->p=(int*)malloc(sizeof(int*)); } int main() { struct stude

  • python 二分查找算法实现2022-01-22 13:02:50

    给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1 二分查找算法的时间复杂度是O(log2​n) class Solution: def search(self, nums: List[int], target: int) -> int: if not nums

  • 程序设计与算法(二):3. 二分算法2022-01-21 21:34:33

    目录 例 查找p 例 查找lowerbound 例 二分法求方程的根  例 找一对数 例 农夫和奶牛 例子源于慕课课程:程序设计与算法二 二分查找:有序、时间复杂度是log(n) 例 查找p int BS(int a[], int size, int p) { int low = 0, high = size - 1; while (low <= high) { int mid

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

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

ICode9版权所有