IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 算法每日一练入门篇一 -> 正文阅读

[Python知识库]算法每日一练入门篇一

入门篇

1、字符串反转

描述

写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)

示例1

输入:

"abcd"

返回值:

"dcba"

题解

解法一:

思路:直接使用语言的库函数完成

Python版

class Solution:
    def solve(self , str ):
        return str[::-1]
#         result = ""
#         for i in range(len(str)-1,-1,-1):
#             result += str[i]
#         return result

Java版

import java.util.*;
public class Solution {
    public String solve (String str) {
        StringBuffer sb =new StringBuffer(str);
        return sb.reverse().toString();
    }
}

解法二:

思路:开辟一个和str长度大小相同的一个字符串,把传入的str倒序赋值到新开的字符串上

Python版

class Solution:
    def solve(self , str ):
         result = ""
         for i in range(len(str)-1,-1,-1):
             result += str[i]
         return result

Java版

import java.util.*;


public class Solution {
    public String solve (String str) {
        char[] str2 = str.toCharArray();
        int len = str.length();
        for (int i=0;i<len;i++){
            str2[i] = str.charAt(len-1-i);
        }
        return new String(str2);
    }
}

解法三:

思路:原地替换

Python版

class Solution:
    def solve(self , str ):
         result = list(str)
         len_ = len(str)
         for i in range(0,int(len_/2):
             result[i],result[len_-1-i] = result[len_-1-i],result[i]
         return ''.join(result)

Java版

import java.util.*;
public class Solution {
    public String solve (String str) {
        char[] cstr = str.toCharArray();
        int len = str.length();
        for(int i = 0 ; i < len/2 ;i++)
        {
                char t = cstr[i];
                cstr[i] = cstr[len-1-i];
                cstr[len-1-i]=t;
        }
        return new String(cstr);
    }
}

2、斐波那契数列

描述

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。

n\leq 39n≤39

示例1

输入:

4

返回值:

3

题解

解法一(顺序相加):

思路:定义好前两个数字,然后按顺序将前两位相加得到新的斐波那契数列的值

Python版

# -*- coding:utf-8 -*-
class Solution:
    def Fibonacci(self, n):
        # write code here
        a = 0
        b = 1
        if n == 0:
            return a
        elif n == 1:
            return 1
        for i in range(0,n-1):
            c = a + b
            a,b = b,c
        return c

Java版

public class Solution {
    public int Fibonacci(int n) {
        int a = 0;
        int b = 1;
        int res = 0;
        if (n<=1)
            return n;
        else{
            for (int i=0;i<n-1;i++){
                res = a + b;
                a = b;
                b = res;
            }
            return res;
        }
    }
}

解法二(递归):

思路:这种题型很明显可以用递归来解决,如果n为0或1时,直接返回n,当n大于1时,进行递归相加。当然如果数字比较大时不推荐使用递归。

Python版

# -*- coding:utf-8 -*-
class Solution:
    def Fibonacci(self, n):
        # write code here
        if n<=1:
            return n
        else:
            return self.Fibonacci(n-1)+self.Fibonacci(n-2)

Java版

public class Solution {
    public int Fibonacci(int n) {
        int a = 0;
        int b = 1;
        int res = 0;
        if (n<=1)
            return n;
        else{
            return Fibonacci(n-1)+Fibonacci(n-2);
        }
    }
}

公众号现有功能:课表、成绩、四六级、专利查询(即将上线)、计算机等级考试查询(即将上线)、教资成绩查询(即将上线)、影视资源获取、小说资源获取。欢迎大家使用
在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章           查看所有文章
加:2021-09-10 23:57:30  更:2021-09-10 23:58:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 13:52:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码