- 以前写的不带头的单链表实现,当时也啥也没学,好多东西不知道,加上一心想压缩代码,减少情况,所以写得不太好。 请教了老师,首先是命名问题和代码紧凑性等的改进。还有可读性方面的改进,多写了一些注释。并且因为带头的比较好写,好操作,所以标准写法也不是很长,繁琐。 下面贴代码 #include <stdio.h>#include &l... 以前写的不带头的单链表实现,当时也啥也没学,好多东西不知道,加上一心想压缩代码,减少情况,所以写得不太好。 请教了老师,首先是命名问题和代码紧凑性等的改进。还有可读性方面的改进,多写了一些注释。并且因为带头的比较好写,好操作,所以标准写法也不是很长,繁琐。 下面贴代码 #include <stdio.h>#include &l...
- 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 思路:链表归并。 /** * Definition for singly-linked list. *... 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 思路:链表归并。 /** * Definition for singly-linked list. *...
- 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2] 示例 2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出: [9,4] 说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。 思路: 把一个数组的数字放s... 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2] 示例 2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出: [9,4] 说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。 思路: 把一个数组的数字放s...
- 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。 示例 2: 输入: [3,2,1,0,4... 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。 示例 2: 输入: [3,2,1,0,4...
- 给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2)。 上图子矩阵左上角 (row1, col1) = (2, 1) ,右下角(row2, col2) = (4, 3),该子矩形内元素的总和为 8。 示例: 给定 matrix = [ [... 给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2)。 上图子矩阵左上角 (row1, col1) = (2, 1) ,右下角(row2, col2) = (4, 3),该子矩形内元素的总和为 8。 示例: 给定 matrix = [ [...
- js中数组(Array)的排序(sort)注意事项 直接看代码吧,测试结果也贴在里面了 复制代码 var arrDemo = new Array(); arrDemo[0] = 10; arrDemo[1] = 50; arrDemo[2] = 51; arrDemo[3] = 100; arrDemo.sort(); //调用sort方法后,数组本身会被改... js中数组(Array)的排序(sort)注意事项 直接看代码吧,测试结果也贴在里面了 复制代码 var arrDemo = new Array(); arrDemo[0] = 10; arrDemo[1] = 50; arrDemo[2] = 51; arrDemo[3] = 100; arrDemo.sort(); //调用sort方法后,数组本身会被改...
- 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)... 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)...
- 给出一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 1: 输入: intervals = [[1,3],[6,9]], newInterval = [2,5] 输出: [[1,5],[6,9]] 示例 2: 输入: intervals = [[1,2],[3,5... 给出一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 1: 输入: intervals = [[1,3],[6,9]], newInterval = [2,5] 输出: [[1,5],[6,9]] 示例 2: 输入: intervals = [[1,2],[3,5...
- 题目:https://vjudge.net/contest/68966#overview POJ2533 最长上升子序列,很平常的题,但是维持单调队列+二分还是值得一贴的,O(nlogn) 关键思想:出现在单调队列里的数都在当前接收的数之前,所以找到最小的比他大的数替换即可,而替换的位置其实就相当于它的DP[i],只是已经没有记录的必要了。如果是当前最大就放到最后,cn... 题目:https://vjudge.net/contest/68966#overview POJ2533 最长上升子序列,很平常的题,但是维持单调队列+二分还是值得一贴的,O(nlogn) 关键思想:出现在单调队列里的数都在当前接收的数之前,所以找到最小的比他大的数替换即可,而替换的位置其实就相当于它的DP[i],只是已经没有记录的必要了。如果是当前最大就放到最后,cn...
- 下面再放三道我比较喜欢的,需要好好写一下的题。 第一题比较水 1. White Cloud is exercising in the playground. White Cloud can walk 1 meters or run k meters per second. Since White Cloud is tired,it can't run for two or... 下面再放三道我比较喜欢的,需要好好写一下的题。 第一题比较水 1. White Cloud is exercising in the playground. White Cloud can walk 1 meters or run k meters per second. Since White Cloud is tired,it can't run for two or...
- Python从入门到精通2–numpy总结 文章目录 1.查看numpy版本2.创建十个全为0的一维数组3.修改数据类型为整数4.创建固定步长的数5.列表创建数组6.创建全是1的矩阵7.创建布尔类型的True8.创建等差数列9.创建等差数列10.创建3x3矩阵11.创建3x3矩阵12.将第五题的result修改为3x3矩阵13.对上一题生成的re... Python从入门到精通2–numpy总结 文章目录 1.查看numpy版本2.创建十个全为0的一维数组3.修改数据类型为整数4.创建固定步长的数5.列表创建数组6.创建全是1的矩阵7.创建布尔类型的True8.创建等差数列9.创建等差数列10.创建3x3矩阵11.创建3x3矩阵12.将第五题的result修改为3x3矩阵13.对上一题生成的re...
- 实验内容: 1.一维数组的定义与赋值访问。 2.二维数组的定义与赋值访问。 3.冒泡排序的编程实现。 4.选择排序的编程实现。 实验步骤: 1. 定义一个含20个元素的整型数组,利用随机函数产生3位数给数组赋值并在控制台输出,要求每行显示10个元素。 提示:利用随机函数产生3位数:(int)(Math.random... 实验内容: 1.一维数组的定义与赋值访问。 2.二维数组的定义与赋值访问。 3.冒泡排序的编程实现。 4.选择排序的编程实现。 实验步骤: 1. 定义一个含20个元素的整型数组,利用随机函数产生3位数给数组赋值并在控制台输出,要求每行显示10个元素。 提示:利用随机函数产生3位数:(int)(Math.random...
- 实验内容: 测试典型运算符的使用。将程序补充完整。获取实数的整数部分,并求出实数与整数部分的差。输入摄氏温度,计算华氏温度并输出。输入圆柱体的高和半径,求其体积。输入一个梯形的上底、下底、高,并求其面积。 实验步骤: 测试典型运算符的使用,分析程序的输出结果。 public class Sy2_1{ public static void main(String[]... 实验内容: 测试典型运算符的使用。将程序补充完整。获取实数的整数部分,并求出实数与整数部分的差。输入摄氏温度,计算华氏温度并输出。输入圆柱体的高和半径,求其体积。输入一个梯形的上底、下底、高,并求其面积。 实验步骤: 测试典型运算符的使用,分析程序的输出结果。 public class Sy2_1{ public static void main(String[]...
- 目录 C语言概述 什么是C语言? C语言的特点 C语言历史 C语言之hello Word! 完整的C程序 C语言程序格式 开发环境 每文一语 C语言概述 什么是C语言? C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效... 目录 C语言概述 什么是C语言? C语言的特点 C语言历史 C语言之hello Word! 完整的C程序 C语言程序格式 开发环境 每文一语 C语言概述 什么是C语言? C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效...
- 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。 约瑟夫环运作如下: 1、一群人围在一起坐成环状(如:N) 2、从某个编号开始报数(如:S) 3、数到某个... 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。 约瑟夫环运作如下: 1、一群人围在一起坐成环状(如:N) 2、从某个编号开始报数(如:S) 3、数到某个...
上滑加载中
推荐直播
-
华为云鸿蒙应用入门级开发者认证
2025/06/11 周三 16:00-17:30
Skye / 华为云学堂技术讲师
本次直播专为备考华为云鸿蒙端云应用入门级开发者认证的学员设计,提供系统的考试辅导。深度解析认证核心知识点,涵盖HarmonyOS介绍、应用开发入门、ArkTS语言、声明式开发范式组件、Stage应用模型、玩转服务卡片、鸿蒙应用网络请求开发、鸿蒙应用云函数调用等内容。
回顾中 -
基于昇腾NPU的合成孔径雷达成像案例
2025/06/12 周四 19:00-20:00
李阳 华为开发者布道师-高校教师
介绍合成孔径雷达算法的原理和优势,了解合成孔径雷达在传统计算中的痛点,分享如何使用昇腾NPU和AscendC语言构建信号处理算子,如何助力信号处理领域的高性能计算。
回顾中 -
华为云GaussDB入门级认证 - 考试辅导
2025/06/13 周五 16:00-17:30
Steven / 华为云学堂技术讲师
本次直播为HCCDA-GaussDB认证考试提供全面辅导,旨在帮助学员深入了解数据库技术原理与应用实践。我们将详细解析考试大纲,分享高效备考策略,并讲解关键知识点,包括但不限于SQL操作介绍、GaussDB数据库管理与运维基础等。
回顾中
热门标签