【算法与数据结构】
算法与数据结构
yangbocsu
少年一贯快马扬帆,道阻且长不转弯;
要盛大,要绚烂,要哗然;
要用理想的泰坦尼克,去撞现实的冰川;
要当烧赤壁的风,而非借鉴草船;
要为了一片海,就肯翻万山。
展开
-
709. 转换成小写字母
709. 转换成小写字母给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。class Solution { public String toLowerCase(String s) { int length = s.length(); //字符串长度 StringBuilder s1 = new StringBuilder(); for (int i = 0; i < length; i++)原创 2021-11-09 15:37:16 · 269 阅读 · 0 评论 -
java字符与ASCII码相互转换
java字符与ASCII码相互转换一 、遍历字符串二、 java 字符 转换 ASCII码三、 java ASCII码 转换 字符字符串:String s ="abcdefg";一 、遍历字符串 public static void main(String[] args) { String s ="abcdefg"; // 遍历字符串 for (int i = 0; i < s.length(); i++)原创 2021-11-09 15:30:52 · 32508 阅读 · 8 评论 -
抽象数据类型(复数四则运算实现)
抽象数据类型(复数四则运算实现)void multiply(Complex *C, Complex A,Complex B)//A*B{ C -> realpart = A.realpart * B.realpart - A.imagpart*B.imagpart; C -> imagpart = A.imagpart*B.realpart + A.realpart*B.imagpart;}void divide(Complex *C, Complex A,Comp原创 2021-07-08 22:00:12 · 1569 阅读 · 1 评论 -
数据结构与算法基础
数据结构与算法基础绪论绪论随着计算机产业的发展,计算机处理的数据。那么新的、杂乱无章、具有一定结构的数据,该如何处理?①找出这些数据之间的逻辑关系,这就是逻辑结构;②然后把这些数据存储到计算机里面,这就是存储结构;③存在计算机中的数据该如何处理呢? 怎样才能有效运算呢? 这就是算法。...原创 2021-07-08 17:13:04 · 139 阅读 · 0 评论 -
1.1 Algorithms
1.1 Algorithmssorting problem:原创 2021-05-01 21:46:41 · 103 阅读 · 0 评论 -
NC38 螺旋矩阵
题目描述给定一个m x n大小的矩阵(m行,n列),按螺旋的顺序返回矩阵中的所有元素。示例1输入[[1,2,3],[4,5,6],[7,8,9]]返回值[1,2,3,6,9,8,7,4,5]【参考代码】## # @param matrix int整型二维数组 # @return int整型一维数组#class Solution: def spiralOrder(self , matrix ): m=[] i=0原创 2021-04-24 23:44:38 · 260 阅读 · 1 评论 -
NC140 排序
题目描述给定一个数组,请你编写一个函数,返回该数组排序后的形式。输入[5,2,3,1,4]返回值[1,2,3,4,5]示例2输入[5,1,6,2,5]返回值[1,2,5,5,6]备注:数组的长度不大于100000,数组中每个数的绝对值不超过10^9109【Python参考代码】## 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可# 将给定数组排序# @param arr in...原创 2021-04-24 22:53:46 · 193 阅读 · 0 评论 -
NC103 反转字符串
题目描述写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)示例1输入"abcd"返回值"dcba"【Python参考代码】# 反转字符串# @param str string字符串 # @return string字符串#yangbocsu 2021/4/24class Solution: def solve(self , str ): return str[::-1]#用字符串.原创 2021-04-24 22:34:31 · 267 阅读 · 1 评论 -
insertion sort 插入排序
insertion sort 插入排序A = [0,5,2,4,6,1,3]# 0 1 2 3 4 5 6A = [0,5,2,4,6,1,3]print("\n\t\t",A[1:])for j in range(2,len(A)): print("第{}次排序:".format(j),end="") key = A[j] i = j-1 print("key=A[{}]={}, j={},i={}, A[{}]={}".format(.原创 2021-03-05 11:28:46 · 145 阅读 · 0 评论 -
剑指 Offer 09. 用两个栈实现队列
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:["CQueue","deleteHead","appendTail".原创 2021-03-07 10:49:54 · 140 阅读 · 0 评论 -
剑指 Offer 06. 从尾到头打印链表
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000【参考代码】#剑指 Offer 06. 从尾到头打印链表# Definition for singly-linked list.class ListNode: def __init__(self, x): self.val = x self.n.原创 2021-02-03 14:19:30 · 135 阅读 · 1 评论 -
LC 剑指Offer 05. 替换空格
【题目】:请实现一个函数,把字符串s中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000【参考代码1】# -*-coding:utf-8 -*-'''#------------------------------------@author:By yangbocsu@file: data.py@time: 2021.01.26#...原创 2021-01-26 20:29:56 · 146 阅读 · 0 评论 -
01 数据结构简介
一、数组# 初始化可变数组array = []# 向尾部添加元素array.append(2)array.append(3)array.append(1)array.append(0)array.append(2)'''作者:Krahets链接:https://leetcode-cn.com/leetbook/read/illustration-of-algorithm/50e446/来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,...原创 2021-01-26 09:24:59 · 208 阅读 · 0 评论 -
选择排序【Java版本、C版本、Python 版本】
选择排序最简单但是最没用的排序算法,也有优化空间;时间复杂度是O(n^2) 还不稳定;如何计算时间和空间复杂度算法的验证-随机数据生成器、对数器写算法程序的哲学原创 2021-04-08 16:32:47 · 137 阅读 · 0 评论 -
作业:用O表示时间复杂度
思考题:求以下问题的时间复杂度 查找数组最后一个位置上的数 数组的长度是固定的,当我查某一位置的值的时候,我通过计算长度就能锁定目标位置,所以不管数据如何增加,时间复杂度就是O(1) 查找链表最后一个位置上的数 要想查链表上的值,我得从第一个位置开始遍历,直到最后一个,随着数据量的增加,遍历的次数也随之增加,所以时间复杂度是O(n) 对数组求和 查找数组的最大值 ...原创 2021-04-08 14:00:06 · 249 阅读 · 0 评论