
算法相关 c#
张震1024
这个作者很懒,什么都没留下…
展开
-
爬楼梯(c# 动态规划)
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶题目来源:力扣(LeetCode)将一个问题分解为子问题递归求解原创 2020-07-22 10:46:37 · 609 阅读 · 0 评论 -
有效括号(c# satck 和字典)
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: false示例 4:输入: "([)]"输出: false示例 5:输入: "{[]}"输出: true题目来源:Lee原创 2020-07-16 18:07:37 · 260 阅读 · 0 评论 -
最长公共前缀(string[] c#)
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。题目来源:LeetCode思路:纵向扫描纵向扫描时,从前往后遍历所有字符串的每一列,比较相同列上的字符是否相同,如果相同则继续对下一列进行比较,如果不相同则原创 2020-07-15 17:25:28 · 762 阅读 · 0 评论 -
罗马数字转整数(c# 两种方式)
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常原创 2020-07-13 17:44:25 · 1002 阅读 · 0 评论 -
回文数(c#)
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶:你能不将整数转为字符串来解决这个问题吗?题目来源:LeetCode思路映入脑海的第一个想法是将数字转换原创 2020-07-10 17:41:28 · 2337 阅读 · 0 评论 -
整数反转(c#)
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。来源:LeetCode思路:废话不多说 直接上代码public int Reverse(int x){ //考虑整数超出用long long y = 0; wh原创 2020-07-10 10:58:46 · 1629 阅读 · 1 评论 -
两数之和 (c# Dictionary 解法)
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]题目来源:LeetCode方法一 :最简单的暴力两层for看了题目,很自然的就会想到,只要进行两层循环,对所有的数字进行一次相加,当和为原创 2020-07-09 15:46:22 · 912 阅读 · 0 评论