| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 数据结构与算法 -> 剑指offer-数据结构一 -> 正文阅读 |
|
|
[数据结构与算法]剑指offer-数据结构一 |
目录 题目:在一个二维数组中,每一行和每一列按照从上到下和从左 到右递增的顺序排序。请输入一个这样的二维数组和一个数字,并判断这个数字在数组中是否存在。 题目:有两个排序的数组A1和A2,内存在A1的末尾有足够多的业余空间容纳A2,将A2中的所有数字插入A1中,并且所有的数字是排序的 一、数组题目:不修改数组找出数组中任意一个重复的数字思路使用二分法,找出数组中中间大小的数字middele,以middle为界限,统计大于middle的数字个数和小于middle的数字个数,如果其中一个大于数组个数的一半,那么必定存在重复的数字。 代码
测试用例 题目:在一个二维数组中,每一行和每一列按照从上到下和从左 到右递增的顺序排序。请输入一个这样的二维数组和一个数字,并判断这个数字在数组中是否存在。思路我们应该从二维数组的哪个位置选择一个数与查找的数字比较?经过分析,我们发现,只有选择二维数组右上角或者左下角的数字才不会重复查找。如下图是查找数字7的过程。
代码
?二、字符串题目:替换空格考虑的问题:若在原来的字符串上替换,有可能覆盖字符串后面的内存,替换要保证内存足够 思路先遍历字符串,求得字符串的长度,并计算有几个空格,空格数*替换字符长度+字符串的长度=替换后字符串的长度。从后往前替换。 代码
题目:有两个排序的数组A1和A2,内存在A1的末尾有足够多的业余空间容纳A2,将A2中的所有数字插入A1中,并且所有的数字是排序的思路在合并两个字符串,从前往后复制需要移动字符多次,从后往前复制,可以减少移动的次数。 三、链表链表是一种动态的数据结构,在创建链表时不需要知道链表的长度。插入节点的时候,需要为节点分配新的内存。调整指针的指向来确保新节点插入到链表中,由于没有闲置的内存,链表的空间效率比数组高。 链表增加节点思路考虑链表是否为空,如果为空,头节点指向新节点,如果不为空,定义一个指向头节点的指针,遍历链表,直到遍历到节点指向空,然后将节点的下一个指针指向新建的节点。 代码
链表删除节点思路?如果头指针为空,就返回空,新建一个将要被删除的指针为空,如果头节点的值为删除节点的值,将删除指针指向头结点,头节点往下移动一个位置。如果要删除的节点不是头结点,新建一个指向头结点的指针,while指针的下一个值不为要删除的值,遍历到最后一个节点,如果找到,将待删除的节点的指针指向新建的节点的下一个值,新建节点的下一个值为新建节点的下一个值的下一个值。最后,如果待删除节点指针不为空格,就delete和这个节点,将待删除节点置为空。 代码
|
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/23 3:03:47- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |