我正在制作一个jquery计算器,通过点击代表计算器上的数字和运算符的按钮,显示器的innerHTML将改变以反映点击的按钮.
以下是我的代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<title> JQuery Calculator </title>
</head>
<body>
<style>
section {
padding: 2em;
}
.display {
height: 5em;
color: #333;
}
</style>
<section id="calculator">
<div class="display">
</div>
<div id="numbersContainer">
<table id="numbers">
<tr>
<td>
<button class="number" id="one">1</button>
</td>
<td>
<button class="number" id="two">2</button>
</td>
<td>
<button class="number" id="three">3</button>
</td>
</tr>
<tr>
<td>
<button class="number" id="four">4</button>
</td>
<td>
<button class="number" id="five">5</button>
</td>
<td>
<button class="number" id="six">6</button>
</td>
</tr>
<tr>
<td>
<button class="number" id="seven">7</button>
</td>
<td> …Run Code Online (Sandbox Code Playgroud) 我最近接受了一个实习职位的面试,其中一个问题与此类似:
输入:n表示动作次数,k表示您无法踩到的楼梯
问题:杰克有n个动作要达到最大步数,但不能踩第k阶。对于每一个动作,杰克都可以停留在当前位置,也可以跳至第i步(如果他正在进行第i个动作),并且一直持续到完成第n个动作为止。
输出:n次动作内可达到的最大楼梯
它通过Hackerrank(与面试官在一起)进行了测试,在8个测试用例中,我仅通过了3个,其余时间超时
这是我的解决方案,它是即时进行编码的,我无法对其进行优化,并且想知道是否存在更加优化的解决方案:
static int maxStep(int n, int k) {
int result = 0;
if (n == 0) {
return result;
}
return maxStepHelper(n,0, k, result);
}
static int maxStepHelper(int n,int i,int k,int result) {
// At n+1 steps, previous steps' results are recorded and this is mainly used to stop and show previous results
if (i == n+1) {
return result;
}
int nextStep = i + result;
if (nextStep == k) { …Run Code Online (Sandbox Code Playgroud) 我理解CGFloat和Int之间的区别,但奇怪的是我能够在if循环中使用
if image?.size.width == 200 {
// CODE
}
Run Code Online (Sandbox Code Playgroud)
其中image是一个未包装的UIImage,size.width是CGFloat,而数字200是Int类型,这可以在Xcode上运行,没有编译器错误.
然而:
if image?.size.width <= 200 {
// CODE
}
Run Code Online (Sandbox Code Playgroud)
Xcode返回错误:
二进制运算符'<='不能应用于'CGFloat?'类型的操作数?和'国际'
和Xcode无法运行.我查看了CGFloat上的Apple文档及其'=='和'<='运算符规范,并确保双方都必须是CGFloats,并且我没有任何扩展处理CGFloats和Int之间的运算符=(除非它在一个cocoapod?)
我的问题是为什么一个工作而另一个是错误?