使用Java+Kotlin双语言的LeetCode刷题之路(一)
LeetCode learning records based on Java,Kotlin,Python...Github 地址
序号对应 LeetCode 中题目序号
1 两数之和
给定一个整数数列,找出其中和为特定值的那两个数,你可以假设每个输入都只会有一种答案,同样的元素不能被重用;
- Java 语言实现
public int[] twoSum(int[] nums, int target) {
int i, j;
for (i = 0; i < nums.length; i++) {
for (j = i + 1; j < nums.length; j++) {
int sun = nums[i] + nums[j];
if (target == sun) {
return new int[]{i, j};
}
}
}
return new int[]{-1, -1};
}
- Kotlin 语言实现
fun twoSum(nums: IntArray, target: Int): IntArray {
var sum: Int
for (i: Int in nums.indices) {
for (j: Int in i+1 until nums.lastIndex+1) {
sum = nums[i] + nums[j]
if (target == sum) {
return intArrayOf(i,j)
}
}
}
return intArrayOf(-1,-1)
}
7 给定一个范围为 32 位 int 的整数,将其颠倒
- Java 语言实现
public static int reverse(int x) {
int result;
int startLen = 0;
String str = String.valueOf(x);
if (str.charAt(0) == '-') {
startLen = 1;
}
if (str.length() == 1) {
return x;
}
int lastLen = str.length() - 1;
String readStr = "";
while (lastLen >= startLen) {
readStr = readStr + str.charAt(lastLen);
lastLen--;
}
try {
result = Integer.parseInt(readStr);
}catch (NumberFormatException e){
return 0;
}
return startLen == 0 ? result : result * (-1);
}
*Kotlin 语言实现
fun reverse(x: Int): Int {
var startLen = 0
if (x < 0) {
startLen = 1
}
val str = x.toString()
if (str.length == 1) {
return x
}
var lastLen = str.length - 1
var readStr = ""
while (lastLen >= startLen) {
readStr += str[lastLen]
lastLen--
}
return try {
if (startLen == 0) {
readStr.toInt()
} else {
readStr.toInt() * (-1)
}
} catch (e: NumberFormatException) {
0
}
}
使用Java+Kotlin双语言的LeetCode刷题之路(一)的更多相关文章
- 使用Java+Kotlin双语言的LeetCode刷题之路(三)
BasedLeetCode LeetCode learning records based on Java,Kotlin,Python...Github 地址 序号对应 LeetCode 中题目序号 ...
- 使用Java+Kotlin双语言的LeetCode刷题之路(二)
BasedLeetCode LeetCode learning records based on Java,Kotlin,Python...Github 地址 序号对应 LeetCode 中题目序号 ...
- #leetcode刷题之路28-实现 strStr() 函数
实现 strStr() 函数.给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始).如果不存在,则返回 ...
- python -- leetcode 刷题之路
第一题 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, 15], tar ...
- #leetcode刷题之路3-无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc" ...
- leetcode 刷题之路 64 Construct Binary Tree from Inorder and Postorder Traversal
Given inorder and postorder traversal of a tree, construct the binary tree. Note: You may assume tha ...
- #leetcode刷题之路50-Pow(x, n)
实现 pow(x, n) ,即计算 x 的 n 次幂函数.示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100 #inclu ...
- #leetcode刷题之路49-字母异位词分组
给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串.示例:输入: ["eat", "tea", "tan" ...
- #leetcode刷题之路48-旋转图像
给定一个 n × n 的二维矩阵表示一个图像.将图像顺时针旋转 90 度.说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵.请不要使用另一个矩阵来旋转图像.示例 1:给定 matrix ...
随机推荐
- 【 nginx 】怎么安装nginx
一,下载地址:http://nginx.org/en/download.html 二,下载完成之后,是一个安装包,解压之后就能直接使用 三,点击进去我们刚刚解压好的nginx的安装包,打开nginx. ...
- vue_表单控件
Vue.js中提供 v-model 的指令对表单元素进行双向数据绑定,在修改表单元素值的同时,实例 vm 中对应的属性值也同时更新,反之亦然.本小节介绍主要input元素绑定v-model 后的具体用 ...
- python流程控制语句-if语句
一个if语句 if语句用来检验一个条件, 如果 条件为真,我们运行一块语句(称为 if-块 ),也就是只有一个if判断,当为真的时候就运行一块语句,否则就不运行 下面代码中的if语句控制者缩进的pri ...
- win10搭建ftp服务器的操作方法【图文教程】
我们知道FTP是TCP/IP网络上两台计算机传送文件的协议,使得主机间可以共享文件.对于win10版本的ftp服务器搭建方法可能有部分用户还不是很清楚,下面这篇文章就是关于win10搭建ftp服务器的 ...
- Java逻辑运算
逻辑运算是在关系运算基础之上的运算,能处理更加复杂的问题 逻辑运算的结果是 true 或 false 一.逻辑运算的种类: 在java的逻辑运算符中,有这么四类&&(短路与).& ...
- go标准库的学习-hash
参考:https://studygolang.com/pkgdoc 导入方式: import "hash" hash包提供hash函数的接口. type Hash type Has ...
- Qt发起Http/Https请求
1. BurpSuite抓包 1.1 设置代理 burpsuite代理设置 浏览器代理设置(chrome),其他浏览器同理. 地址栏输入 chrome://settings/, 打开代理设置 设置代理 ...
- 理解 boxsizing
理解boxsizing 什么是css盒模型?css盒模型包括如下属性:内容(content),填充(padding),边框(border),边界(margin). 这些东西我们可以拿日常生活中的列子来 ...
- AliOS-Things Visual studio code helloworld 入门
配置环境的时候别忘了下载:GCC工具链:https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads AliOS Thing ...
- java JDK安装教程
JAVA_HOME G:\JDK\java7\jdk1.7.0_80 根据自己的哈 ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 然后找到CLASSPATH ...