有n个盒子,编号为1-n,共有a个小球,每个盒子最多可以放一个小球,现将小球放入连续编号的盒子中,用长度为n的数组arra表示n个盒子,1表示该盒子已经被检查过,0表示该盒子未被检查过,用数组arrb表示,
时间: 2024-05-19 17:13:34 浏览: 14
arrb[i]表示第i个盒子是否放有小球,放有为1,没放为0。现在要找出最左边和最右边的放有小球的盒子的编号。
一种解法是从左往右遍历arrb数组,找到第一个放有小球的盒子的编号,记为left。然后从右往左遍历arrb数组,找到第一个放有小球的盒子的编号,记为right。最后返回left和right即可。
时间复杂度为O(n)。
代码示例:
int left = -1, right = -1;
for(int i = 0; i < n; i++){
if(arrb[i] == 1){
left = i+1;
break;
}
}
for(int i = n-1; i >= 0; i--){
if(arrb[i] == 1){
right = i+1;
break;
}
}
return {left, right};
相关问题
用css做一个小球融入大盒子动画效果
好的,以下是一个简单的实现方法:
HTML部分:
```html
<div class="container">
<div class="ball"></div>
</div>
```
CSS部分:
```css
.container {
width: 500px;
height: 500px;
background-color: #f2f2f2;
position: relative;
}
.ball {
width: 50px;
height: 50px;
background-color: #ff9900;
border-radius: 50%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
animation: ball-in 2s ease-in-out forwards;
}
@keyframes ball-in {
0% {
transform: translate(-50%, -50%) scale(0.2);
}
50% {
transform: translate(-50%, -50%) scale(1.2);
}
100% {
transform: translate(-50%, -50%) scale(1);
}
}
```
在这个例子中,我们使用了 CSS3 动画来实现小球缓慢地融入大盒子的效果。关键是使用了 `transform` 属性,将小球的初始大小设置为 0.2,然后在动画中逐渐放大到 1.2,最后回到 1 的大小,使得小球看起来像是逐渐融入了大盒子中。同时,我们使用了 `forwards` 属性来保持动画完成后的状态,即小球停留在大盒子中央。
用css做一个小球不间断融入大盒子动画效果
好的,以下是一个实现方法:
HTML部分:
```html
<div class="container">
<div class="ball"></div>
</div>
```
CSS部分:
```css
.container {
width: 500px;
height: 500px;
background-color: #f2f2f2;
position: relative;
}
.ball {
width: 50px;
height: 50px;
background-color: #ff9900;
border-radius: 50%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0.2);
animation: ball-in 2s ease-in-out infinite;
}
@keyframes ball-in {
0% {
transform: translate(-50%, -50%) scale(0.2);
}
50% {
transform: translate(-50%, -50%) scale(1.2);
}
100% {
transform: translate(-50%, -50%) scale(0.2);
}
}
```
在这个例子中,我们使用了 CSS3 动画来实现小球不间断地融入大盒子的效果。关键是使用了 `infinite` 属性,将动画设置为无限播放,使得小球不断地从大盒子中心缩小到最小,再放大到最大,然后再次缩小到最小,如此循环。同时,我们使用了 `transform` 属性,将小球的初始大小设置为 0.2,然后在动画中逐渐放大到 1.2,最后回到 0.2 的大小,使得小球看起来像是不断地在融入大盒子中。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)