代码随想录day7

ADS软件操作(8)——负载牵引(Loadpull) 负载牵引:通过不断调节输入和输出端的阻抗,找到让有源器件输出功率最大的输入、输出匹配阻抗。这种方法可以准确地测量出器件在大信号条件下的最优性能,反映出器件输入、输出阻抗随频率喝输入功率变化的特性,为器件和电路的设计优化提供了坚实的基础。白话版:由于通信制式越来越复杂,对放大器的线性度和效率要求越来越高。由于放大器的效率和是个永恒的矛盾,所以如何平衡这样的矛盾达到系统设计的最优就是一个需要解决的难题。如何解决?调节输入和输出端的阻抗也就是负载牵引 (Load-Pull)原理來改善点,从而降低谐波的。 阅读详情

字符串 - 1

反转字符串 easy

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。

不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

思路

双指针法不断交换左右指针的元素

class Solution {
    public void reverseString(char[] s) {
        int n = s.length;
        int l = 0, r = n - 1;
        while(l <= r){
            swap(s,l++,r--);
        }

    }
    public void swap(char[] s,int i,int j){
        char tmp = s[i];
        s[i] = s[j];
        s[j] = tmp;
    }
}

反转字符串 ||

给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。

  • 如果剩余字符少于 k 个,则将剩余字符全部反转。
  • 如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。

思路

在上道题目的基础上,加上对字符串的一些处理

class Solution {
    public String reverseStr(String s, int k) {
        StringBuffer res = new StringBuffer();
        int length = s.length();
        int start = 0;
        while (start < length) {
            // 找到k处和2k处
            StringBuffer temp = new StringBuffer();
            // 与length进行判断,如果大于length了,那就将其置为length
            int firstK = (start + k > length) ? length : start + k;
            int secondK = (start + (2 * k) > length) ? length : start + (2 * k);

            //无论start所处位置,至少会反转一次
            temp.append(s.substring(start, firstK));
            res.append(temp.reverse());

            // 如果firstK到secondK之间有元素,这些元素直接放入res里即可。
            if (firstK < secondK) { //此时剩余长度一定大于k。
                res.append(s.substring(firstK, secondK));
            }
            start += (2 * k);
        }
        return res.toString();
    }
}

反转字符串中的单词

给你一个字符串 s ,请你反转字符串中 单词 的顺序。

单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。

返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。

注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。

思路

使用split分割空格,再合并过于简单,不符合
双指针法:从后向前遍历,遇到第一个空格,就截取字符串,然后注意去除多个空格操作

class Solution {
    // 使用双指针法
    public String reverseWords(String s) {
        String str = s.trim();
        int end = str.length() - 1, i = end;
        StringBuilder sb = new StringBuilder();
        while(i >= 0){
            while(i >= 0 && str.charAt(i) != ' ') i--; // 搜索首个空格
            sb.append(str.substring(i + 1,end + 1) + " ");
            while(i >= 0 && str.charAt(i) == ' ') i--; // 跳过单词间空格
            end = i;
        }
        return sb.toString().trim();
    }
}

总结

可以采用异或法原地反转字符数组

    public static void reverseString(char[] ch, int start, int end) {
        //异或法反转字符串,参照题目 344.反转字符串的解释
        while (start < end) {
            ch[start] ^= ch[end];
            ch[end] ^= ch[start];
            ch[start] ^= ch[end];
            start++;
            end--;
        }
    }
100天精通Python(基础篇)——第2天:基础语法详解(标识符、保留字、注释与代码结构) 阅读详情

相关推荐

基于ESP32的气象雷达站设计与实现

物联网技术通过嵌入式设备实现环境数据的实时采集与可视化,其中ESP32凭借其双核处理器和WiFi/蓝牙功能成为热门选择。本项目利用ESP32结合LVGL图形库,构建了一个低成本气象监测系统,通过OpenWeatherMap API获取全球气象数据并在7英寸触摸屏上动态展示。系统采用三级优化策略处理高分辨率雷达图,包括服务端预处理、硬件加速解码和显示增强,有效解决了内存占用和帧率问题。在物联网设备开发中,类似方案可应用于智能家居、农业监测等场景,特别是需要实时数据可视化的领域。通过SPIFFS存储和zlib压

weixin_42524864的博客 422

代码随想录算法训练营Day7

给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串 ransom 能不能由第二个字符串 magazines 里面的字符构成。如果可以构成,返回 true;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。杂志字符串中的每个字符只能在赎金信字符串中使用一次。

lololo的博客 1108

Python 打包与发布陷阱:如何用 setuptools 和 PyInstaller 生成跨平台可执行文件?

使用。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1207

代码随想录Day7

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例 2:输入:[“H”,“a”,“n”,“n”,“a”,“h”]输出:[“h”,“a”,“n”,“n”,“a”,“H”]

HNTZB的博客 383

道岔故障监测系统设计(源码+开题)

通过实时监控道岔的工作状态,系统能够及时发现异常情况,预防潜在的安全隐患,从而减少事故发生的概率。此外,监测系统还能够为维护人员提供详细的数据支持,帮助他们更准确地判断道岔的磨损程度和故障类型,优化维修计划,延长道岔的使用寿命。随着智能化、自动化技术的发展,道岔故障监测系统的设计与应用也将推动铁路行业的技术进步,为实现智能铁路和未来交通系统的构建奠定基础。因此,开展道岔故障监测系统的设计研究,不仅具有重要的工程实践价值,也有助于推动铁路运输行业向更高水平的发展。

灵军程序设计 771

【STC32G12K128开发板】——从零到一:Keil C251开发环境全攻略

本文详细介绍了为STC32G12K128开发板搭建Keil C251开发环境的完整流程。从环境准备、软件安装、驱动配置到创建第一个工程并下载程序,提供了避坑指南和实用技巧,帮助开发者高效入门这款基于251内核的国产32位单片机开发。

weixin_29192141的博客 363

代码随想录刷题Day7

这个题目在我看来,很像是幼儿园经常做的看图找规律,放在这里就是看螺旋矩阵找出放置的规律,还别说,这个规律我看了很久才找出来,我记得自己曾经在大一的C语言程序设计的期末考试里遇到过,当时刚学完数组,二维数组的概念,学习也比较认真专注,半小时之内就写出来了,放到现在,我确定解题思路就不止半小时。这个思路不难想到的,但是我在做题的时候,困难是,如何去设计这样一个表示窗口中有哪些类别的水果,这些水果的范围在哪里,需要知道水果的范围在哪里是因为我想着需要在滑动窗口的时候,左指针刚好滑到那个位置。

qq_57141819的博客 858

Android HCE实战:手把手教你用Kotlin实现NFC公交卡模拟(含完整APDU指令解析)

本文是一份Android HCE实战指南,详细讲解如何使用Kotlin实现NFC公交卡模拟。内容涵盖HCE服务搭建、APDU指令(如SELECT AID、GET PROCESSING OPTIONS)的完整解析与响应逻辑,并提供读卡器端测试代码,帮助开发者深入理解基于主机的卡模拟技术。

qsc901234567的博客 1117

力扣15 代码随想录Day7 第二题

【代码】力扣15 代码随想录Day7 第二题。

2301_80653171的博客 419

31、车载通信中的可见光通信(VLC)技术解析

本文详细解析了车载通信中可见光通信(VLC)技术的应用背景、优势及发展前景。对比传统RF通信技术(如DSRC),VLC利用LED照明设备实现高效、安全的车辆与车辆、车辆与基础设施之间的通信,具有频谱资源丰富、安全性高、无电磁干扰等优势。文章还探讨了VLC在交叉口交通控制、高速公路通信、自动驾驶等场景的应用潜力,展望了其在未来智能交通系统中的重要作用。

hill8的博客 318

RuyiDify如何创建知识库API密钥:让程序安全访问知识库

知识库 API Key 是程序访问知识库的钥匙。创建它很简单,但真正重要的是知道它能做什么、应该放在哪里、不能暴露给谁。RuyiDify 讲这一步,不是为了让大家多记一个按钮,而是为了把知识库从“人工上传资料”推进到“程序化维护资料”。

未来已来,AI时代,学AI编程,做AI量化,就来大鹏AI教育。 136

代码随想录算法训练营day7

今天是算法营的第7天,希望自己能够坚持下来!今日任务:● 454.四数相加II● 383. 赎金信● 15. 三数之和● 18. 四数之和● 总结今天主要是学习了:1.观察题目是否有顺序要求,没有要求的话还可以考虑使用sort将数组排序,然后使用双指针2.map虽然万能,但如果像题目只包含小写字母,可以优先用数组。明天继续加油!

qq_38365428的博客 855

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

代码随想录训练Day7[哈希表]

给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。两个两个找给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串 ransom 能不能由第二个字符串 magazines 里面的字符构成。如果可以构成,返回 true;否则返回 false。

2302_77073920的博客 280

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【代码随想录训练营】Day7-哈希表

代码随想录第7天

weixin_38255385的博客 3366

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

代码随想录刷题day7

感悟:使用双指针的技巧,一个指针从前往后,一个指针从后往前,互相交换。编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组。感悟:和第一题类似,可以使用双指针,但是场景比第一题更复杂。、使用 O(1) 的额外空间解决这一问题。不要给另外的数组分配额外的空间,你必须。,从字符串开头算起,每计数至。

LL_xjbt的博客 211

代码随想录day7: 哈希表part02

首先四个数组都是长度为 n, 然后需要选取不同的下标数值相加为0.请你计算有多少个元组 (i, j, k, l) 能满足?那么就是三道题,需要具体细致debug一遍去领悟细节。看了一下题解,所以还是 排序+双指针。按照题目提醒,需要考虑去重问题。最粗暴的解法肯定是 循环?第一思路是 排序+双指针。● 383. 赎金信。

RessCris的博客 210

代码随想录 day 7

本题 思路整体和 三数之和一样的,都是双指针,但写的时候 有很多小细节,需要注意,建议先看视频。建议:本题是 使用map 巧妙解决的问题,好好体会一下 哈希法 如何提高程序执行效率,降低时间复杂度,当然使用哈希法 会提高空间复杂度,但一般来说我们都是舍空间 换时间, 工业开发也是这样。建议:本题虽然和 两数之和 很像,也能用哈希法,但用哈希法会很麻烦,双指针法才是正解,可以先看视频理解一下 双指针法的思路,文章中讲解的,没问题 哈希法很麻烦。五数之和六数之和都是如此。● 18. 四数之和。

weixin_45549711的博客 626

《代码随想录》刷题打卡day7:字符串part01

在C++中,提供一个string类,string类会提供 size接口,可以用来判断string类字符串是否结束,就不用’\0’来判断是否结束。字符串是若干字符组成的有限序列,也可以理解为是一个字符数组,但是很多语言对字符串做了特殊的规定,接下来我来说一说C/C++中的字符串。其实在基本操作上没有区别,但是 string提供更多的字符串处理的相关接口,例如string 重载了+,而vector却没有。在C语言中,把一个字符串存入一个数组时,也把结束符 '\0’存入数组,并以此作为该字符串是否结束的标志。

2301_77038122的博客 1052

代码随想录算法-day7

题目链接/文章讲解/视频讲解。

qq_46147058的博客 815

代码随想录day7-四数相加/赎金信/三数之和/四数之和

自己敲了一遍,错在没有在进入第一层循环时判断是否直接>target(这个不太懂,本来以为没有这行,后面的代码也能得出正确答案的),sum应该设置成long,少了while(left<right)这层循环,以及left/right去重时应该用while而不是if。感觉方法几句话说不清楚,大概是先给数组排序,用一个指针从头到尾遍历数组,左右指针在该指针后面移动,三数之和>0则右指针左移,<0则左指针右移,=0时存入三个指针,同时右指针左移+左指针右移。思路和三数之和一样,就是多了层for循环。

zhengjojo的博客 474

代码随想录算法训练营day7(字符串)

【代码】代码随想录算法训练营day7(字符串)

huaz_md的博客 359

代码随想录DAY7

本文总结了LeetCode 454、15、18三题的解题思路: 四数相加(454题)使用哈希表存储前两数之和,再匹配后两数之和的补数,时间复杂度O(N²),空间复杂度O(N²) 三数之和(15题)采用排序+双指针法,重点处理重复元素,时间复杂度O(N²),空间复杂度O(1) 四数之和(18题)在三数之和基础上增加外层循环,注意数据溢出需用long long类型,时间复杂度O(N³) 解题关键点包括:哈希表优化、双指针技巧、去重处理、数据溢出预防等。特别强调四数之和必须使用long long类型防止溢出。

2402_87204747的博客 1360

代码随想录打卡Day7

每个字符的索引由 'magazine[i] - 'a'' 计算,这样可以将 ''a'' 对应到数组的第0个位置,''b'' 对应到第1个位置,依此类推。- 当 'i = 2' 时,'nums[i] = -1',如果不跳过它,你会再次找到相同的三元组 '[-1, 0, 1]'。- 假设数组已经排好序,当前遍历到某个元素 'nums[i]',如果 'nums[i - 1] == nums[i]',说明 'nums[i]' 和前一个元素 'nums[i - 1]' 相同。

jianbaigreat的博客 1211
上一篇: 【手撸Spring】02 实现Bean的定义、注册、获取
下一篇: 【手撸Spring】03 基于Cglib实现含构造函数的类实例化策略
Strongwind_
博客等级 码龄7年 139粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值