【算法刷题】其他技巧

news2024/11/24 8:28:51

系列综述:
💞目的:本系列是个人整理为了秋招算法的,整理期间苛求每个知识点,平衡理解简易度与深入程度。
🥰来源:材料主要源于网上知识点进行的,每个代码参考热门博客和GPT3.5,其中也可能含有一些的个人思考。
🤭结语:如果有帮到你的地方,就点个赞关注一下呗,谢谢🎈🎄🌷!!!
🌈数据结构基础知识总结篇


文章目录

    • 字符和进制转换
      • 字符串和十进制的转换
      • 进制数的输出格式
      • 十进制的二级制形式运算
      • 搜索插入位置
    • 参考博客


😊点此到文末惊喜↩︎


字符和进制转换

字符串和十进制的转换

  1. atoiitoa函数
    // 注意需要包含的头文件
    #include <iostream>
    using namespace std;
    
    // atoi()
    // 功能:字符串转换成十进制数
    // 特点:直到遇上数字或正负符号才开始做转换,
    // 	而再遇到 非数字 或 字符串结束时(’\0’) 才结束转换,并将结果返回
    const char *s = " 134";
    int num = atoi(s);
    cout << num; //输出:134 
    
    // itoa()
    // 功能:十进制转换成任意进制的字符串
    // 特点:将十进制转换成2~36中任意进制的字符串
    int num = 100;
    char str[25];
    itoa(num, str, 2);// 转换成2~36进制的字符串
    cout << str; //输出100 
    
    // strtol()
    // 功能:将一个任意2-36进制数转化为long型的10进制数
    char str[30] = "1000";
    char *substring;
    long number;
    number = strtol(str, &substring, 2);
    

进制数的输出格式

  1. 在C++语言(hex、oct、itoa)
    // 所需头文件
    #include <iostream>
    using namespace std;
    
    cout << hex <<num<< endl; 	// 十六进制
    cout <<num<<endl;			// 十进制	
    cout << oct <<num<<endl;	// 八进制
    // 二进制
    char s[10]; //自定义二进制数的位数,输出位数是实际所需位数
    itoa(num,s,2);//转成字符串,进制为2
    cout << s <<endl;// 二进制
    
  2. 在C语言中
    printf("%x",35);    //按十六进制格式输出
    printf("%d",35);    //按十进制格式输出
    printf("%o",35);    //按八进制格式输出
    // 按二进制进行输出
    char s[10]; //自定义二进制数的位数,输出位数是实际所需位数
    itoa(num,s,2);//转成字符串,基数为2 
    printf("%s",s);
    

十进制的二级制形式运算

// 按位与&:全1为1
int AND = 1 & 2; // 01 & 10 = 0b00 = 0

// 按位或|:有1为1
int OR = 1 | 2; // 01 | 10 = 0b11 = 3

// 非运算~:int类型为16位全部取反
~6; // ~0000 0000 0000 0110 = 1111 1111 1111 1001  = 1000 0000 0000 0110+1(保留符号位,全部取反+1) = -7

// 异或运算^:不同为1
// a ^ b ^ a = b;
int XOR = 1 ^ 2; // 01 ^ 10 = 0b11 = 3

// 同或运算 ~(a ^ b):相同为1
int SAME_OR = ~(1 ^ 2); // ~(01 | 10) = 0

// 左移运算(oper << n):向左移1位,末尾添0。相当于十进制乘以2
3 << 1;     // 0000 0000 0000 0011 -> 0000 0000 0000 0110 = 3*2 = 6

// 右移运算(oper >> n):向右移1位
(-6 >> 1); // 相当于除以2

搜索插入位置


少年,我观你骨骼清奇,颖悟绝伦,必成人中龙凤。
不如点赞·收藏·关注一波


🚩点此跳转到首行↩︎

参考博客

  1. C++中的各种进制转换函数汇总
  2. 【C语言】 itoa()函数 和 atoi()函数(字符串与整型数的转换)
  3. 二分查找算法详解
  4. 待定引用
  5. 待定引用
  6. 待定引用
  7. 待定引用
  8. 待定引用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/652388.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vivo 帐号服务稳定性建设之路-平台产品系列06

作者&#xff1a;vivo 互联网平台产品研发团队- Shi Jianhua、Sun Song 帐号是一个核心的基础服务&#xff0c;对于基础服务而言稳定性就是生命线。在这篇文章中&#xff0c;将与大家分享我们在帐号稳定性建设方面的经验和探索。 一、前言 vivo帐号是用户畅享整个vivo生态服务…

【CEEMDAN-VMD-GRU】完备集合经验模态分解-变分模态分解-门控循环单元预测研究(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【Python】数据容器总结 ② ( 数据容器元素排序 | 字符串大小比较 | 字符大小比较 | 长短一样的字符串大小比较 | 长短不一样的字符串大小比较 )

文章目录 一、数据容器元素排序二、字符串大小比较1、字符大小比较2、长短一样的字符串大小比较3、长短不一样的字符串大小比较 一、数据容器元素排序 调用 sorted 函数 , 可以对 数据容器 中的元素进行排序 ; sorted(数据容器变量, [reverseTrue])上述两个参数 , 第一个 数据…

开源!一款.Net开发的全能工具EverythingToolbar,节约你90%操作时间!

今天给大家推荐一款已获得6.3K stars的.Net开发的开源全能工具EverythingToolbar。EverythingToolbar 是由 Everything 提供支持的 Windows 任务栏的即时文件搜索集成&#xff0c;可以替换操作系统任务栏上的 Windows 搜索&#xff0c;使 Windows 上的文件搜索更快、更可靠。 …

Hive 库表相关操作

1、Hive内部表和外部表 1.内部表&#xff1a;未被external修饰&#xff1b;外部表&#xff1a;被external修饰。 区别&#xff1a; &#xff08;1&#xff09;内部表数据由Hive自身管理&#xff0c;外部表数据由HDFS管理&#xff1b; &#xff08;2&#xff09;内部表数据存…

ESP32(Micro Python) LVGL 传感器数值显示

本程序用于显示SR04超声波传感器和BMP280气压温度传感器的读数。由于高度数值类型不符合要求&#xff0c;BMP280改为显示气压和温度值。气压值分两部分显示&#xff0c;分别为千帕值-100&#xff08;避免超出表盘显示范围&#xff09;和千帕值的两位小数。由于标签不能显示动态…

在Mybatis执行插入数据时,如何将Date类型字段设置为“yyyy-MM-dd”的格式

1、问题描述 使用mybatis新增插入一条数据到MySQL数据库时&#xff0c; 其中实体类对象的一个属性”hiredate“的类型是日期类型Date&#xff0c; 此属性在数据库中对应的字段“hiredate”类型也是日期Date类型&#xff0c; 但是在数据库中要求“hiredate”字段的字段值为“yy…

瑞萨RA4M2 基于CAN总线的UDS诊断升级MCU工具 /bootloader/UDS诊断/14229/15765

基于can总线的UDS软件升级 最近学习UDS诊断协议&#xff08;ISO14229&#xff09;&#xff0c;是一项国际标准&#xff0c;为汽车电子系统中的诊断通信定义了统一的协议和服务。它规定了与诊断相关的服务需求&#xff0c;并没有设计通信机制。ISO14229仅对应用层和会话层做出了…

【SpringCloud入门】-- 认识微服务

目录 1. 什么是微服务&#xff1f; 2. 微服务的优势&#xff1f; 3. 单体架构&#xff0c;分布式架构&#xff0c;微服务架构的区别以及优缺点&#xff1f; 4. SpringCloud和Spring Cloud Alibaba是什么&#xff1f; 5. SpringCloud和SpringCloudAlibaba的区别&#xff1f…

apple pencil二代值不值得买?口碑好的电容笔排行榜

事实上&#xff0c;苹果Pencil与市场上普通的电容笔最大的区别就是在重量和压感上。苹果pencil拥有着独特的重力压感&#xff0c;可以很好运用于绘画上&#xff0c;但是&#xff0c;随着苹果Pencil的价格一直高居不下&#xff0c;而平替电容笔各种性能的不断提高&#xff0c;苹…

Vue中如何进行3D场景展示与交互(如Three.js)

Vue中如何进行3D场景展示与交互&#xff08;如Three.js&#xff09; 随着WebGL技术的发展&#xff0c;越来越多的网站开始使用3D场景来展示产品、游戏等内容。在Vue中&#xff0c;我们可以使用第三方库Three.js来实现3D场景的展示与交互。本文将介绍如何在Vue中使用Three.js来…

和 if else说再见,SpringBoot 这样做参数校验才足够优雅!

1. 概述 当我们想提供可靠的 API 接口&#xff0c;对参数的校验&#xff0c;以保证最终数据入库的正确性&#xff0c;是 必不可少 的活。比如下图就是 我们一个项目里 新增一个菜单校验 参数的函数&#xff0c;写了一大堆的 if else 进行校验&#xff0c;非常的不优雅&#xf…

语音验证码短信原理和应用场景分析

引言 随着移动互联网的快速发展&#xff0c;短信验证码成为了许多应用和服务中常用的身份验证方式。然而&#xff0c;有时候用户可能由于各种原因无法接收到短信验证码&#xff0c;或者对于文字验证码不够方便或友好。 为了解决这些问题&#xff0c;语音验证码短信API 应运而…

【论文精读ACL_2021】Prefix-Tuning: Optimizing Continuous Prompts for Generation

【论文精读ACL_2021】Prefix-Tuning: Optimizing Continuous Prompts for Generation 0、前言Abstract1 Introduction2 Related Work2.1 Fine-tuning for natural language generation.2.2 Lightweight fine-tuning2.3 Prompting.2.4 Controllable generation. 3 Problem State…

Python做数据分析需要学什么?

下面分别从这四个方面来带大家学习数据分析&#xff1a; 第一&#xff0c;做数据分析要精通Python吗&#xff1f;第二&#xff0c;数据分析流程是什么&#xff1f;学什么&#xff1f;第三&#xff0c;如何培养数据分析思维&#xff1f;第四&#xff0c;数据分析书籍推荐 一、…

关于linux服务器上生成的图片中文字为的乱码问题

一、功能描述 linux服务器后端生成图表&#xff08;使用了canvas和echarts&#xff09;&#xff0c;并将生成的图片发送到企业微信群里。 二、出现的问题 生成的图表中文展示不出来&#xff0c;是乱码。错误图表展示如下&#xff1a; 三、 文字乱码出现的原因 linux服务器没有…

git在windows及linux(源码编译)环境下安装

git在windows及linux(源码编译)环境下安装 环境信息: 系统版本:CentOS Linux release 7.9.2009 (Core) git指令安装: yum install -y git 一、git在windows下安装 下载地址:https://git-scm.com/ 默认安装即可 验证 git --version 二、git在linux下安装 下载地址…

电子标签服务器搭建说明文档

一、安装运行环境 1.安装jdk 运行JDK_1.8.0_64bit.exe程序,可自定义安装路径 ​ 2.配置环境变量 择计算机图标&#xff0c;鼠标右键选择属性 ​ 选择高级系统设置&#xff0c;在系统属性中找到环境变量 ​ 在系统变量中新建JAVA_HOME环境变量&#xff0c;变量值为jdk的安装路…

跨域请求!!!

1.见过的请求类型都有哪些 getpostputdeleteoptions 和跨域相关的请求头 2.什么是跨域 当主机、域名、端口有任何一个不一致的时候&#xff0c;会出现跨域 3.跨域只有在哪里会出现 浏览器里出现了&#xff0c;它是浏览器的一个行为 4.为什么有跨域 为了安全不同域名之间…

系统编程(3):进程

文章目录 一、概念1.1 什么是进程&#xff1f;1.2 进程ID1.3 进程间通信1.4 进程的三种态的转换 二、进程控制2.1 创建进程函数&#xff1a;fork函数2.1.1 获得pid函数写代码&#xff1a;方式一&#xff1a;最简单的方式二&#xff1a;加入while&#xff08;1&#xff09;死循环…