[翼灵物联网工作室例会分享]

[翼灵物联网工作室例会分享],第1张

翼灵例会分享

文章目录
  • 翼灵例会分享
  • 最大子列和问题
    • (在线处理)
  • 二分查找( 时间复杂度log(n) )
    • 例题:
  • 字符串去重并按ASCII码值顺序输出
  • 浏览器插件
  • 笔记工具

最大子列和问题

例如有一个数组:

[4,-3,5,-2,-1,-1,2,6,-2]

对于该数组,其最大子列和为11(从第一个元素到第七个元素)。


(在线处理)
int MaxSubseqSum( int A[], int N )
{
    int ThisSum, MaxSum;
    int i;
    ThisSum = MaxSum = 0;
    for( i = 0; i < N; ++i )
    {
        ThisSum += A[i]; //向右累加
        if( ThisSum > MaxSum )
            MaxSum = ThisSum; //发现更大和则更新当前结果
        else if( ThisSum < 0 ) //若当前子列和为负
            ThisSum = 0; //则不可能使后面的部分和增大,抛弃之
    }
    return MaxSum;
}
二分查找( 时间复杂度log(n) ) 例题:

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1


示例 1:

输入: nums = [-1,0,3,5,9,12], target = 9
输出: 4
解释: 9 出现在 nums 中并且下标为 4

示例 2:

输入: nums = [-1,0,3,5,9,12], target = 2
输出: -1
解释: 2 不存在 nums 中因此返回 -1

提示:

  1. 你可以假设 nums 中的所有元素是不重复的。


  2. n 将在 [1, 10000]之间。


  3. nums 的每个元素都将在 [-9999, 9999]之间。


int search(int *nums,int numsSize,int target)
{
    int left = 0,right = numsSize-1,mid = 0;
    while( left <= right )
    {
        mid = left + ( right - left )/2;  //防止数据溢出
        if( nums[mid] == target )
        {
            return mid;
        }else if( nums[mid] <target )
        {
            left = mid + 1;
        }else{
            right = mid - 1;
        }
    }
    return -1;
}

二分查找适用范围:

(1)该数组数据量大;

(2)该数组已排序;

(3)一般要求找到的是一个值或一个位置

字符串去重并按ASCII码值顺序输出
/*利用哈希表思想,把字符串放到一个int数组里,数组下标对应字符的ASCII码值*/
#include 
#include 

int main()
{
    int res[128]={0};   //共有128个ASCII码值
    char str[1000];
    gets(str);
    int i = 0,j = 0;
    for( i = 0;i < strlen(str);++i )
    {
        res[str[i]]++;    //字符的ASCII码对应的res下标处值加1
    }
    while( j < 128 )
    {
        if( res[j] != 0 )
        {
            printf("%c",j);
        }
        ++j;
    }
    return 0;
}
浏览器插件
  • uBlock Origin(一款高效的网络请求过滤工具,拦截广告,让你的页面简洁舒适)
  • ColorZilla(一款取色插件,浏览网站时,发现网站上的一些背景图片颜色很好看时,可以用其取色,同时其还可以配色,直接将配色代码拷贝,然后粘贴到网站代码中)
  • iTab(一个让你不受广告干扰的个性化卡片起始页插件,好看好用的自定义式新标签页扩展)
笔记工具

Typora(一款轻量级Markdown编辑器,支持Markdown语法的文本编辑,笔记简洁美观)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/584624.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存